LectureWeb应用与H.ppt
《LectureWeb应用与H.ppt》由会员分享,可在线阅读,更多相关《LectureWeb应用与H.ppt(68页珍藏版)》请在三一办公上搜索。
1、Lecture?,Web应用与HTTP,历史上,先后问世了多个具有重大社会影响的电子通信技术:,计算机网络概述,Web应用与HTTP,一是19世纪70年代发明的电话。它对社会有重大的影 响有好的也有坏的。,三是改变了人们的生活与工作方式的Web技术。,二是20世纪20-30年代问世的广播收音机/电视机。它对 社会同样有重大的影响有好的也有坏的。,Web还有许多大家喜爱的其他精彩特性:1、任何个人都可以极其容易地在Web上公布任何 信息;2、任何人都可能以极低的成本成为发行人;3、超链接和搜索引擎;4、图形化的用户界面;,计算机网络概述,Web应用与HTTP,Web最吸引用户的是它的按需(on
2、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页面由单个基本HTML文件和若干个所引用的对象构
3、成。,3.2.1 HTTP概述 Web的应用层协议HTTP是Web的核心。HTTP在Web的客户程序和服务器程序中得以实现。运行在不同端系统上的客户程序和服务器程序通过交换HTTP消息彼此交流。HTTP定义这些消息的结构以及客户和服务器如何交换这些消息。术语:Web page(也称为文档)由多个对象构成。对象可仅仅是由单个URL寻址的文件,例如HTML文件、JPEG图像、GIF图像、Java小应用程序、语音片段等。大多数Web页面由单个基本HTML文件和若干个所引用的对象构成。,计算机网络概述,Web应用与HTTP,基本HTML文件使用相应的URL来引用本页面的其他对象。每个URL由存放该对象
4、的服务器主机名和该对象的路径名两部分构成。例如,在如下的URL中:/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 Response,HTTP Response,Server runingNCSA
5、Web Server,PC runingExplorer,MAC runingNavigator,计算机网络概述,Web应用与HTTP,HTTP/1.0,计算机网络概述,Web应用与HTTP,HTTP有两个版本:,HTTP/1.1,它们都把TCP(port 80)作为底层的传输协议。,HTTP客户首先发起建立与服务器TCP连接。,计算机网络概述,Web应用与HTTP,一旦建立连接,浏览器进程和服务器进程就可以 通过各自的套接字来访问TCP。,客户或服务器一旦把某个消息送入各自的套接 字,这个消息就完全落入TCP的控制之中。,(2)TCP还使用一个拥塞控制机制。该机制迫使每个新的TCP连接一开始
6、以相对缓慢的速率传输数据,然而只要网络不拥塞,每个连接可以迅速上升到相对较高的速率。这个慢速传输的初始阶段称为缓启动(slow start)如下图。,计算机网络概述,Web应用与HTTP,(1)TCP给HTTP提供一个可靠的数据传输服务;从中可看到分层网络体系结构的一个明显优势 HTTP不必担心数据会丢失,也无需关心TCP如何从数据的丢失和错序中恢复出来的细节。这些是TCP和协议栈中更低协议层的任务。,慢速启动阶段的TCP时序 TCP slot in slow start phase,Initiate TCPconnection,Requestobject,First window=S/R,S
7、econd window=2S/R,Third window=4S/R,Fourth window=8S/R,Completetransmission,RTT,Objectdelivered,Sever time,client time,(3)HTTP是一个无状态的协议(stateless protocol)。因为在向客户发送所请求文件的同时,服务器并没有存储关于该客户的任何状态信息。即便某个客户在几秒钟内再次请求同一个对象,服务器也不会响应说:自己刚刚给它发送了这个对象。相反,服务器重新发送这个对象,因为它已经彻底忘记早先做过什么。HTTP服务器不维护客户的状态信息。,计算机网络概述,Web
8、应用与HTTP,非持久连接(non-persistent connection),,如:HTTP/1.1 则默认使用持久连接。,如:HTTP/1.0,计算机网络概述,Web应用与HTTP,3.2.2 非持久连接和持久连接,持久连接(persistent connection)。,非持久连接 每次服务器发出一个对象后,相应的TCP连接就被关闭,即每个TCP连接只用于传输一个请求消息和一个响应消息。,计算机网络概述,Web应用与HTTP,假设某页面由1个基本HTML文件和10个JPEG图像构成,而且所有这些对象都存放在同一台服务器主机中。再假设该基本HTML文件的URL为:www.someScho
9、ol.edu/someDepartment/index.html。,1.HTTP客户初始化一个与服务器主机中的HTTP服务器的TCP连接。,则具体步骤为:,2.HTTP客户经由与TCP连接相关联的本地套接字发出一个HTTP请求消息。,3.HTTP服务器经由与TCP连接相关联的本地套接字接收这个请求消息,再从服务器主机的内存或硬盘中取出对象,经由同一个套接字发出包含 该对象的响应消息。,4.HTTP服务器告知TCP关闭这个TCP连接(不过TCP要到客户收到刚才这 个响应消息之后才会真正终止这个连接)。,5.HTTP客户经由同一个套接字接收这个响应消息。TCP连接随后终止。该消息标明所封装的对象是
10、一个HTML文件。客户从中取出这个文件,加以分析后发现其中有10个JPEG对象的引用。,6.给每一个引用到的JPEG对象重复步骤14。,请问共产生几个TCP连接?,往返时间(round-trip time,简称RTT)是一个小分组从客户主机游动到服务器主机再返回客户主机所花的时间。,考虑一下某个用户点击某个超链接时会发生什么事情?它的响应延时又是多少?,计算机网络概述,Web应用与HTTP,RTT包括分组传播延迟、在中间路由器和交换机上的分组排队延迟以及分组处理延迟。,Client,Server,Close connection,Close connection,总的响应时间:约等于是2个RT
11、T加上服务器发送这个HTML文件的时间。,计算机网络概述,Web应用与HTTP,用户的点击导致浏览器发起建立一个与Web服务器的TCP连接(三次握手)。三次握手过程的前两次结束时,流逝的时间为1个RTT。此时客户把HTTP请求消息发送到TCP连接中,接着客户把三次握手过程最后一次中的确认捎带在包含这个消息的数据分节中发送出去。服务器收到来自TCP连接的请求消息后,把相应的HTML文件发送到TCP连接中,服务器接着把对早先收到的客户请求的确认捎带在包含该HTML文件的数据分节中发送出去。这个HTTP请求/响应交互也花去1个RTT时间。因此,总的响应时间约等于是2个RTT加上服务器发送这个HTML
12、文件的时间。,计算机网络概述,Web应用与HTTP,最后,每个对象都遭受TCP缓启动。因为每个TCP连接都起始于缓启动阶段。不过并行TCP连接的使 用能够部分减轻RTT延迟和缓启动延迟的影响。,计算机网络概述,Web应用与HTTP,持久连接,非持久连接的缺点:首先,客户得为每个待请求的对象建立并维护一个新的连接。,其次,每个对象都有2个RTT的响应延长。,同一对客户/服务器之间的后续请求和响应可以通过这个连接发送。整个Web页面(上例中为包含一个基本HTML文件和10个图像的页面)可以通过单个持久TCP连接发送;甚至存放在同一个服务器中的多个Web页面也可以通过单个持久TCP连接发送。,计算机
13、网络概述,Web应用与HTTP,在持久连接下,服务器在发出响应后让TCP连接继续打开着。,持久连接可分为:,计算机网络概述,Web应用与HTTP,带流水线(with pipelining),不带流水线(without pipelining),不带流水线持久连接,计算机网络概述,Web应用与HTTP,是指客户只在收到前一个请求的响应后才发出新的请求。这种情况下,Web页面所引用的每个对象(上例中的10个图像)都经历1个RTT的延迟,用于请求和接收该对象。与非持久连接2个RTT的延迟相比,不带流水线的持久连接已有所改善(如下图所示)。,Client,Server,.,.,不带流水线持久连接,.,2
14、RTT,Close connection,带流水线的持久连接,计算机网络概述,Web应用与HTTP,不带流水线的缺点:服务器送出一个对象后开始等待下一个请求,而这个新请求却不能马上到达。这段时间服务器资源便闲置了。,带流水线的持久连接,而带流水线时,HTTP客户每碰到一个引用就立即发出一个请求,因而HTTP客户可以一个接一个紧挨着发出各个引用对象的请求。服务器收到这些请求后,也可以一个接一个紧挨着发出各个对象。如果所有的请求和响应都是紧挨着发送的,那么所有引用到的对象一共只经历1个RTT的延迟(而不带流水线时,每个引用到的对象都各有1个RTT的延迟)。,另外,带流水线中服务器空等请求的时间比较
15、少。从而又比前者进一步降低了响应延迟(如下图所示)。,计算机网络概述,Web应用与HTTP,Client,Server,带流水线持久连接,1个RTT,.,.,Close connection,Close connection,其原因在于既然各个对象使用同一个TCP连接,服务器发出第一个对象后就不必再以一开始的缓慢速率发送后续对象。相反,服务器可以按照第一个对象发送完毕时的速率开始发送下一个对象(如上图所示)。,计算机网络概述,Web应用与HTTP,与非持久连接相比,持久连接(不论是否带流水线)除低了1个RTT的响应延迟外,缓启动延迟也比较小。为什么?,3.2.3 HTTP消息格式,Figure
16、 3.2.2 Request message,HTTP消息可分为 请求消息 响应消息,计算机网络概述,Web应用与HTTP,计算机网络概述,Web应用与HTTP,GET/somedir/page.html HTTP/1.1 请求行(方法、URL、版本)Host:指定存放所请求对象的主机Connection:close 是否使用持久连接(否)User-agent:Mozilla/4.0 指定用户代理Accept-language:fr 指出要是所请求对象有法语版本,那么用户宁愿接收(额外的回车符和换行符)这个版本;如果没有法语版本,那么服务器应该 发送其默认版本。Accept-language:
17、仅仅是HTTP的 众多内容协商头部之一。,头部行,计算机网络概述,Web应用与HTTP,例如:一条HTTP请求消息,Request message-Request line Request line,计算机网络概述,Web应用与HTTP,Request message-URL URL,计算机网络概述,Web应用与HTTP,URL-Methods,GET HEAD POST PUT PATCH COPY MOVE DELETE LINK UNLINK OPTION,对服务器的CGI进行访问,客户端一般需要提供一些表单参数,其参数传递方式主要有两种:GET和POST。,GET传递参数方法 在HTT
18、P请求行中包含传送的参数字符串。如,在中查询字符串“test”,因为是GET方法,所有服务器端的CGI需要参数都通过浏览器发出的URL传递,这里是:search?q=test&btnG=Google%CB%D1%CB%F7&h1=zh-CH&safe=off 而真正的HTTP消息请求行应该是:GET/search?q=test&btnG=Google%CB%D1%CB%F7&h1=zh-CH&safe=off 请求消息中没有消息实体。,这里,参数的写法应该注意,整个字符串是若干域组成的,每个域有形如“名字=值”这样的构成,不同域之间用“&”分隔,“%”引起一个双字节的十六进制转义字符,字符串中
19、间有空格,则用“+”来代替,如:,name1=value1&name2=value2&name3=value3,其中value1 可能是“all+right”,其本来应该是“all right”;而 value2 可能是“%2B”,表示一个“+”;value3 甚至可以是个中文字符串,如“%D0%AD%D2%E9”,就代表“协议”二字。,计算机网络概述,Web应用与HTTP,POST传递参数方法 在HTTP请求消息的实体正文中包含要传送的字符串参数。如,在中查询字符串“test”,采用POST方法,则上述在HTTP协议消息中就应该如下所示:POST/search HTTP/1.1 Accept
20、:image/gif,image/x-xbitmap,*/*Accept-language:zh-cn Content-Type:application/x-www-form-urlencoded Accept-Encoding:gzip,deflate User-Agent:Mozilla/4.0 Content-Length:43 Connection:Keep-Alive 空一行 q=test&btnG=Google%CB%D1%CB%F7&h1=zh-CH&lr=,在服务器端,CGI程序要接收客户端传递来的参数,如果是GET方法,就通过WEB服务器提供的环 境变量来获取;如果是POST
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LectureWeb 应用

链接地址:https://www.31ppt.com/p-6510922.html