目录
HTTP协议(超文本传输协议)是OSI7层协议中应用层的协议,它定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。HTTP协议是一种面向连接的协议。今天就来看看有关HTTP通信的内容。
一、以一个例子来看HTTP通信
HTTP协议定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP是面向事务的(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。请注意,HTTP不仅传送完成超文本跳转所必需的信息,而且也传送任何可从互联网上得到的信息,如文本、超文本、声音和图像等。
但其实从浏览器请求一个万维网文档到收到整个文档所需的时间(图6-10)。 用户在点击鼠标链接某个万维网文档时,HTTP协议首先要和服务器建立TCP连接。这需要使用三报文握手。当建立TCP连接的三报文握手的前两部分完成后(即经过了一个RTT时间后),万维网客户就把HTTP请求报文,作为建立TCP连接的三报文握手中的第三个报文的数据,发送给万维网服务器。服务器收到HTTP请求报文后,就把所请求的文档作为响应报文返回给客户。
二、HTTP报文
HTTP有两类报文:
(1)请求报文——从客户向服务器发送请求报文,见图a;
(2)响应报文——从服务器到客户的回答,见图b;
下面通过一个例子来说明这两类报文的详细内容。
1.HTTP请求的部分内容:
第一行:请求行,GET是请求方法,表示客户端一请求的方式来申请资源。常见的HTTP请求方法有9种,如下表所示:
请求方法 | 含义 |