目录
1.什么是HTTP?
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
2.HTTP的作用
对服务器与客户端之间信息的传递进行了规范
3.两种数据包
- 请求包request
- user-agent
- host
- cookie
- referer
- 响应包response
- server
- connection
- date
- 状态
4.TCP的连接方式-HTTP的四个版本
- 连接方式
- 长连接:长时间连接,保持一段时间,然后再四次断开
- 短连接:短时间连接,事情完成就进行断开
- 四个版本
- 0.9:短连接
- 1.0:短连接
- 1.1:长连接,主流版本,传输的数据格式是文本格式
- 2.0:长连接,传输的数据格式是二进制
5.URL
- URL是Uniform Resource Location的缩写,统一资源定位符
- 作用:是Internet上用来描述信息资源的字符串
- 组成:
-
- 第一部分是协议;
- 第二部分是存有该资源的主机ip地址或者是域名;
- 第三部分是主机资源的具体地址;
- 第一部分和第二部分之间用“://”符号隔开,第二部分和第三部分用“/”隔开,第一部分和第二部分是不可缺少的,第三部分有时可以省略。
- 借鉴:https://www.tianqi.com/toutiao/read/73906.html
-
6.HTTP的工作原理
在用户输入URL为http://www.baidu.com/editor的链接后,浏览器和服务器之间会执行以下操作:
(1)浏览器分析URL;
(2)浏览器向DNS请求解析www.baidu.com的IP地址;
(3)DNS将解析出的IP地址14.215.177.38返回浏览器;
(4)浏览器与服务器建立TCP连接(80端口);
(5)浏览器请求文档:GET/index.html;
(6)服务器给出响应,将文档index.html发送给浏览器;
(7)浏览器将文档进行渲染,展示;
(8)没有再次刷新页面,一段时间后服务器将断开连接。
7.请求报文的封装
8.响应报文的封装
- 码状态
- 是响应报文状态行中包含的一个3位数字,指明特定的请求是否被满足,如果没有满足,原因是什么。
常见的状态:
- 304:not modify表示数据从缓存中获取
- 403:Forbiden权限问题,开启应用程序的用户没有读取文件的权限
- 404:not found,路由不存在
- 503:servic temporaily unavlibe由于临时的服务器维护或者过载,服务器当前法处理请求。个状况是临时的,并且将在一段时间以后恢复
- 502:Bad Gateway网关错误
- 301:permanent,永久重定向
- 302:redirect,临时重定向