HTTP协议和URL讲解以及HTTP1.0与HTTP1.1区别
万维网 WWW
万维网使用统一资源定位符URL来标志万维网上的各种文档,且每一个文档在整个因特网的范围内具有唯一的标识符 URL。
万维网客户程序和服务器程序之家遵守的协议就是超文本传送协议HTTP。它使用TCP连接进行可靠的传送。
万维网使用超文本标记语言HTML,使得万维网页面的设计者可以很方便地用链接从本页面的某处链接到因特网上的任何一处万维网页面,并且能够在自己的主机屏幕上将页面显示出来。
统一资源定位符 URL
URL的一般形式如下四部分组成:
<协议>://<主机>:<端口>/<路径>
URL第一部分是<协议>,它是指使用什么协议来获取该万维网文档。最常用的协议是http(超文本传输协议HTTP),其次是ftp(文件传输协议FTP);
协议后是规定必须写上的格式“://”,不能省略。
第二部分是<主机>,它指出这个万维网文档是在哪一个主机上。<主机>就是指该主机在因特网上的域名。
再后面是第三和第四部分<端口>和<路径>,有时可省略。
HTTP的URL
一般形式是:http://<主机>:<端口>/<路径>
HTTP的默认端口号是80,通常可省略。若再省略文件的<路径>项,则URL就指到因特网上的某个主页。
URL里面的字母不分大小写。
超文本传输协议HTTP
HTTP是面向事务的应用层协议,它是万维网上能可靠地交换文件的重要基础。
HTTP协议本身是无连接的:通信双方在交换HTTP报文之前不需要先建立HTTP连接。
HTTP协议是无状态的:即同一个客户第二次访问同一个服务器上的页面时,服务器的响应时间与第一次被访问时相同。
用户点击如下链接,其URL是http://www.tsinghua.edu.cn/chn/yxsz/index.htm。下面用HTTP/1.0具体说明用户点击鼠标后所发生的几个事件:
- 浏览器分析链接指向页面的URL
- 浏览器向DNS请求解析www.tsinghua.edu.cn的IP地址
- 域名系统DNS解析出清华大学服务器的IP地址为166.111.4.100
- 浏览器与服务器建立TCP链接(在服务器端IP地址是166.111.4.100,端口是80)
- 浏览器发出取文件命令:GET/chn/yxsz/index.htm
- 服务器www.tsinghua.edu.cn给出响应,把文件index.htm发送给浏览器
- 释放TCP连接
- 浏览器显示“清华大学院系设置”文件index.htm中的所有文本
浏览器请求一个万维网文档到接收到整个文档所需要的时间如图6-10:
请求一个万维网文档所需时间是该文档的传输时间(与文档大小成正比)加上两倍往返时间RTT(一个RTT用于连接TCP连接,另一个RTT用于请求和接收万维网文档。这里TCP建立连接的三次握手的第三个报文段中捎带了客户对万维网文档的请求。)
??HTTP/1.0和HTTP/1.1区别
HTTP/1.0主要缺点是,每请求一个文档就要两倍RTT的开销。是非持续连接的
HTTP/1.1较好地解决了上述问题,它是持续连接。即,万维网服务器在发送响应后仍然在一段时间内保持这条连接,使得同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。
HTTP/1.1协议持续连接有两种工作方式,即非流水线方式和流水线方式。
非流水线方式特点:客户在收到前一个响应后才能发出下一个请求。因此,在TCP连接已建立后,客户每访问一次对象都要用去一个往返时间RTT。比非流水线方式节省了建立TCP连接所需的一个RTT时间。
流水线方式特点:客户在收到HTTP的响应报文之前就能够接着发送新的请求报文。因此,使用流水线方式时,客户访问所有的对象只需要花费一个RTT时间。