HTTP协议学习 | 青训营笔记

114 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天,今天跟着杨老师学习了HTTP协议的知识。

什么是HTTP协议

  • HTTP:网络通信规则全称超文本传输协议,是基于TCP/IP协议传输数据的应用层协议,分为请求和响应。当我们浏览网页数据时HTTP协议在其中发挥很大作用。
  • 特点:简单可扩展、无状态。

HTTP发展

image.png

Method

image.png

网络请求虽有多种方法,但常见的方法有GET和POST方法。

GET方法:常用于获取服务器资源,比如点击网页中的链接发生跳转,通过url传递参数。

POST方法:常用于提交用户输入的信息,例如:提交用户登录信息,通过body体传输参数。

安全幂等

  • 安全:不会修改服务器的数据的方法 (GET HEAD OPTIONS)
  • 幂等:同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的,也就是说幂等的方法不该有副作用。(GET HEAD OPTIONS PUT DELETE)

常见网络请求状态码

状态码说明
200请求成功
301资源被转移到其他URL
302临时跳转
401请求未经授权
404请求资源不存在
500服务器内部发生不可预估的错误
504GateWay Timeout-请求超时

常见请求头与响应头

客户端向服务端发送请求,服务端对请求响应,向客户端反馈资源。

  • 请求头组成和响应头组成:首行、header、空行、body(存放url参数)

image.png

image.png

缓存

  • 强缓存:本地缓存若存在直接使用。
  • 协商缓存:本地缓存若存在需协商能否使用。

image.png

cookie:存储的是用户身份相关的信息,一般不会太大(最大4Kb)通常服务器每次发送请求需要知道的数据存放在cookie中。

缺点

应用场景

  1. 用户登录

当用户登录时(常用POST请求),向request的url发送请求,将能够标识用户的信息存放在cookie中,课程中的问题,当刷新页面后为什么能记住登录状态?在返回的数据中有一个时间戳(登录到期时间)超过这个时间则退出登录状态。

  1. 网络请求常见的还有跨域问题,因为浏览器有“同源策略”,当协议、域名、端口号有一个不相同,就是非同源。 解决方法有两种: ①CORS方式 ;②ajax的jsonp。

总结

HTTP协议无论是后端还是前端都是会经常接触到的,了解HTTP协议可能对于网络问题有更深的认识。