静态网页和动态网页的区别
一、静态web页面:
1、在静态web程序中,客户端使用的web浏览器经过网络连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给web服务器之后,web服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过web服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果。
2.为了让静态web页面更加好看,使用javascript/VBScript/ajax(AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术)但是这些特效都是在客户端上借助于浏览器展示给用户的,所以在服务器上本身没有任何的变化。
3.静态web无法连接数据库;
4.静态web资源开发技术:HTML;
5.由于现在的web页面中,大量使用JS,导致浏览器打开页面就会占用大量的内存,服务端压力减少,客户端压力增加。
二、动态web页面:
动态web中,程序依然使用客户端和服务端,客户端依然使用浏览器通过网络连接到服务器上,使用HTTP协议发起请求(Request),现在的所有请求都先经过一个WEB Server来处理。如果客户端请求的是静态资源(*.htm),则将请求直接转交给web服务器,之后web服务器从文件系统去除北荣,发送给客户端浏览器进行解析。
如果客户端请求的是动态内容(*.jsp、*.asp/*.aspx、*.php),则先把请求转交给web container(web容器),在web container中连接数据库,从数据库中取出数据等一系列操作后动态拼凑页面的展示效果,拼凑页面的展示内容后,把所有的展示内容交给WEB服务器,之后通过web服务器将内容发送给客户端服务器进行解析。
ps:再进一步深入分析动态web的访问过程:浏览器访问web时,看似是直接访问的jsp页面,其实是,最先到达的地方是服务器,服务器创建好req和resp对象后再给jsp页面使用。在jsp中完成设置字符集和取得表单参数后再调用servlet,完成业务处理。然后返回到jsp,jsp就会生成相应的html页面。该页面会返回到服务器,再由服务器,通过response对象返回给客户端。