一.www概述
1.www体系结构与协议
(1)WWW:World Wide Web,万维网。 (2)HTTP服务器和客户端,以及它们之间执行的HTTP协议。 (3)服务器 ①Web页面(HTML文档):包含到多种对象或链接。
②Web对象(包括:静态对象和动态对象):可以是HTML文档、图像文件、视频文件、声音文件、脚本文件等。
③对象用URL(统一资源定位符)编址:协议类型://主机名:端口//路径和文件名。
(4)客户端 ①发出请求、接收响应、解释HTML文档并显示。
②有些对象需要浏览器安装插件。
2.统一资源定位器URLs(Uniform Resource Locators)
3.www性能提升方法
(1)前端(front end) (2)多线程(multiple threads) (3)缓存(caching),如代理技术
二.Web对象
1.Web对象分类
(1)静态对象与静态网页 ①文本,表格,图片,图像和视频等多媒体类型的信息(实现语言:标记语言,如:HTML、XML、PHP等)。
②字体、颜色和布局等风格类型的信息(实现语言:层叠样式表CSS)。
(2)动态对象与动态网页 ①交互信息,比如,用户注册信息、登录信息等(实现:PHP/JSP等语言+MySQL等数据库)。
(3)链接 ①超链接(HyperLinks)。
2.动态Web
(1)为什么需要动态Web ①交互性:根据用户的要求和选择而动态地改变和响应。
②自动更新:无须手动更新HTML文档,便会自动生成新页面。
③因时因人而异:不同时间、不同用户访问同一网址时会出现不同页面。
(2)动态Web页面实现 ①通用网关接口CGI(*.sgi)。 ②脚本语言+数据库技术(*.php,*.sap,*.aspx)。
三.HTTP协议
1.HTTP概述
(1)超文本传输协议HTTP(HyperText Transfer Protocol)在传输层通常使用TCP协议,缺省使用TCP的80端口。
(2)HTTP为无状态协议,服务器端不保留之前请求的状态信息。 ①无状态协议:效率低、但简单。 ②有状态协议:维护状态相对复杂,需要维护历史信息,在客户端或服务器出现故障时,需要保持状态的一致性等。
2.HTTP发展现状
(1)HTTP/1.0(1996) ①无状态,非持久连接。
(2)HTTP/1.1(1999) ①支持长连接和流水线机制; ②缓存策略优化、部分资源请求及断点续传。
(3)HTTPS:HTTP+TLS(2008) ①增加SSL/TLS层,在TCP之上提供安全机制。
(4)HTTP/2.0(2015、2020) ①目标:提高带宽利用率、降低延迟; ②增加二进制格式、TCP多路复用、头压缩、服务端推送等功能。
3.HTTP协议运行过程
(1)HTTP协议运行在客户与服务器端的应用程序中。 ①客户机:请求、接收、“显示”Web对象。 ②服务器:Web服务器响应请求而发送对象。
(2)通过交换HTTP消息进行交流。
(3)使用TCP ①客户机向服务器发起TCP连接(产生套接字),端口80;
②服务器从客户机接受TCP连接;
③在浏览器(HTTP客户机)和Web服务器(HTTP服务器)之间交换HTTP报文(应用层协议报文);
④关闭TCP连接。
(4)HTTP是无状态的 ①服务器不保留有关客户机过去请求的任何信息; ②用户的状态信息由Cookies来实现。
4.非持久连接和持久连接
(1)非持久连接 ①HTTP/1.0缺省为非持久连接 服务器接收请求、响应、关闭TCP连接。
②获取每个对象需要两个阶段 a.建立TCP连接; b.对象请求和传输。
③每次连接需要经历TCP慢启动阶段。
(2)持久连接 ①HTTP/1.1缺省为持久连接 在相同的TCP连接上,服务器接收请求、响应;再接收请求、响应;响应后保持连接。
②HTTP/1.1支持流水线机制 需要按序响应。
③经历较少的慢启动过程,减少往返时间,降低响应时间。
5.响应时间估算
(1)往返时间RRT的定义:从客户机到服务器发送一个小分组并返回所经历的时间。
(2)响应时间(1个HTML文件): ①建立TCP连接:1个RRT; ②对HTTP请求和响应返回的前几个字节:1个RRT; ③文件传输时间 ④总响应时间=2RRT+传输时间。
6.HTTP报文结构:请求报文
(1)报文由三个部分组成,即开始行、首部行和实体主体。 (2)在请求报文中,开始行就是请求行。
①方法: a.是对所请求的对象进行的操作,实际上也就是一些命令; b.请求报文的类型是由它所采用的方法决定的。 ②URL:是所请求资源的URL。 ③具体方法:
(3)请求报文举例
7.HTTP报文结构:响应报文
(1)状态码 ①状态码都是三位数字
a.1xx:表示通知信息的,如请求收到了或正在进行处理; b.2xx:表示成功,如接受或知道了。 c.3xx:表示重定向,表示要完成请求还必须采取进一步的行动; d.4xx:表示客户的差错,如请求中有错误的语法或不能完成; e.5xx:表示服务器的差错,如服务器失效无法完成请求。
②典型状态码
a.200 OK:请求成功,被请求的对象包含在该响应的数据部分; b.301 Moved Permanently:请求的对象被移走,新的位置在响应中通过Location:给出; c.400 Bad Request:服务器不能解释请求报文; d.404 Not Found:服务器中找不到请求的文档; e.505 HTTP Version Not Supported:服务器不支持相应的HTTP版本。
(2)响应报文举例
四.Cookie技术
1.用户与服务器的交互
(1)HTTP是一种无状态协议,不能保存客户信息。
(2)Cookie是一种在客户端保持HTTP状态信息的技术。 ①客户端访问网站时,Web服务器会查看、创建、修改Cookie资料; ②帮助Web站点保存访问者信息:浏览历史、购物车等。
(3)cookie技术组成 ①cookie识别码(http请求报文、http响应报文); ②客户端保留cookie文件; ③服务器提供后端数据库。
(4)cookie工作过程举例
2.Cookie的优缺点
(1)好处:能分析用户喜好,向用户进行个性化推荐。 ①用Cookie在某网站标识用户信息,查找用户以前浏览网站记录; ②用Cookie记录用户购物清单; ③用Cookie可以保存4K内容,跟踪用户浏览网站的喜好; ④用Cookie跨站点跟踪用户点击广告。
(2)缺点:跟踪用户网络浏览痕迹,泄露用户隐私。 ①Cookie跟踪用户以前浏览过哪些网站,跟踪用户频繁浏览哪类网站; ②Cookie收集用户信息,用户网络交互时关注的关键词。 (3)Cookie容易嵌入间谍程序,这是个误区,Cookie文件保存的只是文本串,没有可执行程序。 用户可以设置浏览器限制使用Cookie。
五.Web缓存技术与Web代理
1.Web缓存(代理服务器)
(1)Web缓存:保存最近请求过的web对象。 (2)浏览器向缓存发送所有HTTP请求。 ①对象在缓存中:缓存返回对象; ②否则缓存向起始服务器请求对象,然后向客户机返回对象。 (3)好处 ①减小客户机请求的响应时间; ②减少机构内部网与因特网接入链路的通信量。
2.Web缓存一致性
(1)Web缓存存在困难,即Web缓存与原始服务器Web页一致性问题。 ①启发式策略:服务器响应Web页的Last-Modified头和Expires头启发-原始Web页一段时间是否有更改;缓存是否在有效期内。
②询问式策略:通过特殊的关键字头询问原始服务器,Web副本是否已更新。
3.条件GET方法
(1)目的:如果缓存中有最新缓存版本,就不发送该对象。(解决问题:缓存中的对象可能不是最新)。
(2)缓存器:在HTTP请求If-modified-since:< date >中,指定缓存版本的日期。
(3)服务器:如果缓存的拷贝是最新,响应不包含对象:HTTP/1.0 304 Not Modified
|