WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。
静态web资源:所有用户访问得到的结果是一样的 如:文本 图片 音频 视频 HTML CSS JavaScript。如果用户请求的是静态资源,那么服务器会直接把静态资源发送给浏览器,浏览器中内置了静态资源的解析引擎,可以展示静态资源。
在静态WEB程序中,客户端使用WEB浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给WEB服务器,之后WEB服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过WEB服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果。
动态web资源:所有用户访问得到的结果可能不一样 如 jsp/servlet 如果用户请求的是动态资源,那么服务器会将动态资源转换为静态资源,再发送给浏览器,在Java中,动态web资源开发技术统称为Javaweb。
动态WEB中,程序依然使用客户端和服务端,客户端依然使用浏览器(IE、FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Request),现在的所有请求都先经过一个WEB Server Plugin(服务器插件)来处理,此插件用于区分是请求的是静态资源(*.htm或者是*.htm)还是动态资源。
如果WEB Server Plugin发现客户端请求的是静态资源(*.htm或者是*.htm),则将请求直接转交给WEB服务器,之后WEB服务器从文件系统中取出内容,发送回客户端浏览器进行解析执行。
如果WEB Server Plugin发现客户端请求的是动态资源(*.jsp、*.asp/*.aspx、*.php),则先将请求转交给WEB Container(WEB容器),在WEB Container中连接数据库,从数据库中取出数据等一系列操作后动态拼凑页面的展示内容,拼凑页面的展示内容后,把所有的展示内容交给WEB服务器,之后通过WEB服务器将内容发送回客户端浏览器进行解析执行。
软件架构分为:
1.C/S:client/server 客户端/服务器端
在用户本地有一个客户端程序,在远程有一个服务器程序 如:QQ
优点:用户体验好
缺点:开发、安装、部署、维护麻烦;
2.B/S:browser/server 浏览器端/服务器端
只需要一个浏览器 用户通过不同的网址(URL) 客户访问不同的服务器端程序
优点:开发、安装、部署、维护简单
缺点:如果应用过大,用户的体验可能会受到影响 对硬件要求过高