您的位置:首页 > 理论基础 > 计算机网络

HTTP----超文本传输协议

2017-07-10 11:32 190 查看
HTTP协议定义了浏览器怎么样向万维网服务器请求万维网文档,以及服务器怎样把文档传输给浏览器。

从层次的角度来看,HTTP是面向事务的应用层协议,它是万维网上能够可靠地交换文件的重要基础。

HTTP是基于TCP的协议。

DNS是基于UDP的协议。

用户浏览页面有两种方式:

       1. 直接输入页面的URL;

2. 点击一个页面的可选部分,浏览器会自动的在因特网上找到所要链接的页面。

如果用户点击了一个页面的可选部分,则浏览器会发生如下过程:

(1) 浏览器分析链接指向页面的URL;

(2) 浏览器向DNS请求解析www.xxxx.cn的ip地址;

(3) 域名解析系统DNS请求出服务器ip地址为xxx.xxx.x.xxx;

(4) 浏览器与服务器建立TCP连接;

(5) 浏览器发出取文件命令:GET /index.html;

(6) 服务器www.xxxx.cn给出响应,把文件index.html发送给浏览器;

(7) 释放TCP连接;

(8) 浏览器显示index.html的所有文本。

HTTP协议是无状态的。也就是说,同一客户端第二次访问同一个服务器上的页面时,服务器的响应和第一次被访问时相同,也就是说,服务器并不知道之前这个客户访问过,服务了多少次。

HTTP并不记录客户的任何信息,所以,他也快。

下面的图表示一个请求的过程:



HTTP的报文结构:

响应报文;
请求报文;
HTTP是面向文本的,因此在报文中的每一个字段都是一些ASCII码串,因此个个字段的长度都是不确定的。



状态码

状态码一般都是三位数字,分为五大类,一共33种。
1XX表示通知信息的,如请求收到了或者正在处理;
2XX表示成功,如接受或者知道了;
3XX表示重定向,如果要完成请求还必须采取进一步行动;
4XX表示客户的差错,如请求中又错误的语法或不能完成;
5XX表示服务器的差错,如服务器无效或者无法完成请求。

常见的有:
200  OK
202  Accepted      
    接受
301  Moved Permanently    永久性的转移了
400  Bad Request               错误的请求
  404  Not Found                   找不到
505  HTTP Version Not Supported   版本不兼容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息