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

本文详细介绍了HTTP协议的工作原理,包括浏览器如何请求网页文档及服务器如何响应这些请求。文章还阐述了HTTP作为应用层协议的特点,例如其基于TCP的事实、无状态特性以及如何通过状态码来指示请求结果。

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   版本不兼容
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值