lectureweb应用与h

上传人:san****019 文档编号:70158334 上传时间:2019-01-16 格式:PPT 页数:68 大小:1.67MB
返回 下载 相关 举报
lectureweb应用与h_第1页
第1页 / 共68页
lectureweb应用与h_第2页
第2页 / 共68页
lectureweb应用与h_第3页
第3页 / 共68页
lectureweb应用与h_第4页
第4页 / 共68页
lectureweb应用与h_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《lectureweb应用与h》由会员分享,可在线阅读,更多相关《lectureweb应用与h(68页珍藏版)》请在金锄头文库上搜索。

1、Lecture ?,Web应用与HTTP,历史上,先后问世了多个具有重大社会影响的电子通信技术:,计算机网络概述,Web应用与HTTP, 一是19世纪70年代发明的电话。它对社会有重大的影 响有好的也有坏的。, 三是改变了人们的生活与工作方式的Web技术。, 二是20世纪20-30年代问世的广播收音机/电视机。它对 社会同样有重大的影响有好的也有坏的。, Web还有许多大家喜爱的其他精彩特性: 1、任何个人都可以极其容易地在Web上公布任何 信息; 2、任何人都可能以极低的成本成为发行人; 3、超链接和搜索引擎; 4、图形化的用户界面;,计算机网络概述,Web应用与HTTP, Web最吸引用户

2、的是它的按需(on demand)操作性。,5、表单、Java小应用程序、Active X控件以及 其他许多设备使得我们能与Web页面和站点交 互; 6、Web还越来越普遍地提供存放在因特网中、可 按需访问(即点播)的大量音频和视频材料 的菜单接口。,计算机网络概述,Web应用与HTTP, Web page(也称为文档)由多个对象构成。 对象可仅仅是由单个URL寻址的文件(如 HTML文件、JPEG图像、GIF图像、Java小应用程序、语音片段等)。,计算机网络概述,Web应用与HTTP,3.2.1 HTTP概述, Web的应用层协议HTTP是Web的核心。,但大多数Web页面由单个基本HTM

3、L文件和若干个所引用的对象构成。,3.2.1 HTTP概述 Web的应用层协议HTTP是Web的核心。HTTP在Web的客户程序和服务器程序中得以实现。运行在不同端系统上的客户程序和服务器程序通过交换HTTP消息彼此交流。HTTP定义这些消息的结构以及客户和服务器如何交换这些消息。 术语: Web page(也称为文档)由多个对象构成。对象可仅仅是由单个URL寻址的文件,例如HTML文件、JPEG图像、GIF图像、Java小应用程序、语音片段等。 大多数Web页面由单个基本HTML文件和若干个所引用的对象构成。,计算机网络概述,Web应用与HTTP,基本HTML文件使用相应的URL来引用本页面

4、的 其他对象。每个URL由存放该对象的服务器主机名和 该对象的路径名两部分构成。例如,在如下的URL中: www.someSchool.edu/someDepartment/picture.gif,服务器主机名,路径名,计算机网络概述,Web应用与HTTP,EX: 如果一个Web页面包含HTML文本和5个JPEG图像,那么它由6个对象构成,即一个基本HTML文件加5个图像。,文件名,HTTP定义Web客户(即浏览器)如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户。,图3.2.1 HTTP的请求-响应行为,HTTP Request,HTTP Request,HTTP Re

5、sponse,HTTP Response,Server runing NCSA Web Server,PC runing Explorer,MAC runing Navigator,计算机网络概述,Web应用与HTTP,HTTP/1.0,计算机网络概述,Web应用与HTTP, HTTP有两个版本:,HTTP/1.1,它们都把TCP(port 80)作为底层的传输协议。, HTTP客户首先发起建立与服务器TCP连接。,计算机网络概述,Web应用与HTTP, 一旦建立连接,浏览器进程和服务器进程就可以 通过各自的套接字来访问TCP。, 客户或服务器一旦把某个消息送入各自的套接 字,这个消息就完全落

6、入TCP的控制之中。,(2) TCP还使用一个拥塞控制机制。 该机制迫使每个新的TCP连接一开始以相对缓慢的速率传输数据,然而只要网络不拥塞,每个连接可以迅速上升到相对较高的速率。这个慢速传输的初始阶段称为缓启动(slow start)如下图。,计算机网络概述,Web应用与HTTP,(1) TCP给HTTP提供一个可靠的数据传输服务; 从中可看到分层网络体系结构的一个明显优势 HTTP不必担心数据会丢失,也无需关心TCP如何从数据的丢失和错序中恢复出来的细节。这些是TCP和协议栈中更低协议层的任务。,慢速启动阶段的TCP时序 TCP slot in slow start phase,Initi

7、ate TCP connection,Request object,First window =S/R,Second window =2S/R,Third window =4S/R,Fourth window =8S/R,Complete transmission,RTT,Object delivered,Sever time,client time,(3)HTTP是一个无状态的协议(stateless protocol)。 因为在向客户发送所请求文件的同时,服务器并没有存储关于该客户的任何状态信息。即便某个客户在几秒钟内再次请求同一个对象,服务器也不会响应说:自己刚刚给它发送了这个对象。相反

8、,服务器重新发送这个对象,因为它已经彻底忘记早先做过什么。 HTTP服务器不维护客户的状态信息。,计算机网络概述,Web应用与HTTP, 非持久连接 (non-persistent connection),,如:HTTP/1.1 则默认使用持久连接。,如:HTTP/1.0,计算机网络概述,Web应用与HTTP,3.2.2 非持久连接和持久连接, 持久连接 (persistent connection)。, 非持久连接 每次服务器发出一个对象后,相应的TCP连接就被关闭,即每个TCP连接只用于传输一个请求消息和一个响应消息。,计算机网络概述,Web应用与HTTP,假设某页面由1个基本HTML文件

9、和10个JPEG图像构成,而且所有这些对象都存放在同一台服务器主机中。 再假设该基本HTML文件的URL为: www.someSchool.edu/someDepartment/ index.html。,1. HTTP客户初始化一个与服务器主机中的HTTP服务器的TCP连接。,则具体步骤为:,2. HTTP客户经由与TCP连接相关联的本地套接字发出一个HTTP请求消息。,3. HTTP服务器经由与TCP连接相关联的本地套接字接收这个请求消息, 再从服务器主机的内存或硬盘中取出对象,经由同一个套接字发出包含 该对象的响应消息。,4. HTTP服务器告知TCP关闭这个TCP连接(不过TCP要到客户

10、收到刚才这 个响应消息之后才会真正终止这个连接)。,5. HTTP客户经由同一个套接字接收这个响应消息。TCP连接随后终止。 该消息标明所封装的对象是一个HTML文件。客户从中取出这个文件, 加以分析后发现其中有10个JPEG对象的引用。,6. 给每一个引用到的JPEG对象重复步骤14。,请问共产生几个TCP连接?,往返时间(round-trip time,简称RTT)是一个小分组从客户主机游动到服务器主机再返回客户主机所花的时间。,考虑一下某个用户点击某个超链接时会发生什么事情?它的响应延时又是多少?,计算机网络概述,Web应用与HTTP,RTT包括分组传播延迟、在中间路由器和交换机上的分组

11、排队延迟以及分组处理延迟。,Client,Server,Close connection,Close connection,总的响应时间:约等于是2个RTT加上服务器发送这个HTML文件的时间。,计算机网络概述,Web应用与HTTP,用户的点击导致浏览器发起建立一个与Web服务器的TCP连接(三次握手) 。三次握手过程的前两次结束时,流逝的时间为1个RTT。此时客户把HTTP请求消息发送到TCP连接中,接着客户把三次握手过程最后一次中的确认捎带在包含这个消息的数据分节中发送出去。服务器收到来自TCP连接的请求消息后,把相应的HTML文件发送到TCP连接中,服务器接着把对早先收到的客户请求的确认

12、捎带在包含该HTML文件的数据分节中发送出去。这个HTTP请求/响应交互也花去1个RTT时间。 因此,总的响应时间约等于是2个RTT加上服务器发送这个HTML文件的时间。,计算机网络概述,Web应用与HTTP,最后,每个对象都遭受TCP缓启动。 因为每个TCP连接都起始于缓启动阶段。不过并行TCP连接的使 用能够部分减轻RTT延迟和缓启动延迟的影响。,计算机网络概述,Web应用与HTTP, 持久连接,非持久连接的缺点: 首先,客户得为每个待请求的对象建立并维护一个新的连接。,其次,每个对象都有2个RTT的响应延长。,同一对客户/服务器之间的后续请求和响应可以通过这个连接发送。整个Web页面(上

13、例中为包含一个基本HTML文件和10个图像的页面) 可以通过单个持久TCP连接发送;甚至存放在同一个服务器中的多个Web页面也可以通过单个持久TCP连接发送。,计算机网络概述,Web应用与HTTP,在持久连接下,服务器在发出响应后让TCP连接继续打开着。,持久连接可分为:,计算机网络概述,Web应用与HTTP, 带流水线(with pipelining), 不带流水线(without pipelining), 不带流水线持久连接,计算机网络概述,Web应用与HTTP,是指客户只在收到前一个请求的响应后才发出新的请求。这种情况下,Web页面所引用的每个对象(上例中的10个图像)都经历1个RTT的

14、延迟,用于请求和接收该对象。 与非持久连接2个RTT的延迟相比,不带流水线的持久连接已有所改善(如下图所示)。,Client,Server,. . .,. . .,不带流水线 持久连接,. . .,2RTT,Close connection, 带流水线的持久连接,计算机网络概述,Web应用与HTTP,不带流水线的缺点: 服务器送出一个对象后开始等待下一个请求,而这个新请求却不能马上到达。这段时间服务器资源便闲置了。, 带流水线的持久连接,而带流水线时,HTTP客户每碰到一个引用就立即发出 一个请求,因而HTTP客户可以一个接一个紧挨着发出各个引用 对象的请求。服务器收到这些请求后,也可以一个接

15、一个紧挨 着发出各个对象。如果所有的请求和响应都是紧挨着发送的, 那么所有引用到的对象一共只经历1个RTT的延迟(而不带 流水线时,每个引用到的对象都各有1个RTT的延迟)。,另外,带流水线中服务器空等请求的时间比较少。 从而又比前者进一步降低了响应延迟(如下图所示)。,计算机网络概述,Web应用与HTTP,Client,Server,带流水线 持久连接,1个RTT,. . .,. . .,Close connection,Close connection,其原因在于既然各个对象使用同一个TCP连 接,服务器发出第一个对象后就不必再以一开始的缓 慢速率发送后续对象。相反,服务器可以按照第一个 对象发送完毕时的速率开始发送下一个对象(如上图 所示)。,计算机网络概述,Web应用与HTTP,与非持久连接相比,持久连接(不论是否带流水线)除 低了1个RTT的响应延迟外,缓启动延迟也比较小。为 什么?,3.2.3 HTTP消息格式,Figure 3.2.2 Request message,HTTP消息可分为 请求消息 响应消息,计算机网络概述,Web应用与HTTP,计算机网络概述,Web应用与HTTP,GET /somedir/page.html HTTP/1.1 请求行(方法、URL、版本) Host: www.someschool.edu 指定存放所请求对象的主机 Connectio

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号