在复盘了TCP相关的知识之后,接着复盘HTTP相关的知识。
一、HTTP简介
属于应用层的协议,它是一个基于请求与响应模式的无状态的应用层的协议。常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制keep-alive,绝大多数的web开发是构建在Http协议之上的web应用。
二、超文本传输协议HTTP的特点
(1)支持客户/服务器模式
(2)简单快速
(3)灵活
(4)无连接
(5)无状态
三、在浏览器地址栏键入URL,按下回车之后经历的流程
(1)DNS解析
(2)TCP连接
(3)发送HTTP请求
(4)服务器处理请求并返回HTTP报文
(5)浏览器解析渲染页面
(6)连接结束
四、HTTP状态码
(1)1xx:指示信息--表示请求已接收,继续处理;
(2)2xx:成功--表示请求已被成功接收、理解、接受,
比如:200:正常返回信息;
(3)3xx:重定向--要完成请求必须进行更进一步的操作;
(4)4xx:客户端错误--请求有语法错误或请求无法实现,
比如:401:请求未经授权,这个状态代码必须和 WWW-Authenticate 报文域一起使用;
403:服务器收到请求,但是拒绝提供服务;
404:请求资源不存在;
(5)5xx:服务端错误--服务器未能实现合法的请求,
比如:500:服务器发生不可预期的错误;
503:服务器当前不能处理客户端的请求,一段时间后可能恢复正常;
五、GET请求和POST请求的区别
(1)Http报文层面:GET将请求信息放在URL,POST放在报文体中;
(2)数据库层面:GET符合幂等性和安全性,POST不符合;
(3)其他层面:GET可以被缓存、被存储,POST不会;
六、Cookie和Session的区别
1、Cookie简介
是由服务器发给客户端的特殊信息,以文本的形式存放在客户端;
客户端再次请求的时候,会把Cookie回发;
服务器接收到后,会解析Cookie生成与客户端相对应的内容;
2、Session简介
服务器端端机制,在服务器上保存的信息;
解析客户端请求并操作session id,按需保存状态信息;
3、Cookie和Session的区别
(1)Cookie数据存放在客户的浏览器上,Session数据放在服务器上;
(2)Session相对于Cookie更安全;
(3)若考虑减轻服务器负担,应当使用cookie;
总结
目前有关HTTP的复盘先总结这么多,后期遇到新的相关知识会有补充。