HTTP协议|青训营笔记

54 阅读2分钟

初识HTTP-什么是HTTP

HTTP是Hyper Text Transfer Protocol的缩写,意为超文本传输协议(可承载多种体裁如HTML\CSS\JavaScript\web APIs)
HTTP是应用层协议,基于TCP协议
HTTP协议指定了客户端可能发送给服务器什么样的**消息**以及得到什么样的**响应**。
简单可扩展:语义直白,设计上提供很多拓展的能力
无状态:HTTP无状态协议,是指协议对于交互性场景没有记忆能力

协议分析-发展

HTTP/0.9 单行协议:请求GET/mypage.html
                  响应只有HTML文档
HTTP/1.0 构建可扩展性:增加了Header
                      有了状态码
                      支持多种文档类型...
HTTP/1.1 标准化协议:链接复用
                    缓存
                    内容协商...
HTTP/2 更优异的表现:二进制协议
                    压缩header
                    服务器推送...
HTTP/3 草案...

协议分析-报文

  1. 请求报文Requests

    • 结构 image.png

    • 样例 image.png

    • 请求方法Method image.png safe:不会修改服务器的数据的方法(GET、HEAD、OPTION) Idemoptent(幂等):同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的。所有的safe的方法都是Idempotent的(GET、HEAD、OPTIONS、PUT、DELETE)

    • 请求报头域 image.png

  2. 响应报文Responses

    • 结构 image.png

    • 样例 image.png

    • 响应状态码 状态代码由服务器发出,以响应客户端对服务器的请求。
      1xx(信息):表示请求已接收,继续处理
      2xx(成功):表示请求已成功接收,理解和接受
      3xx(重定向):要完成请求必须进行进一步操作
      4xx(客户端错误):请求有语法错误或请求无法实现
      5xx(服务器错误):服务器未能实现合法的请求
      如:200 OK - 客户端请求成功 301 - 资源(网页等)被永久转移到其他URL 302 - 临时跳转 401 Unauthorized - 请求未经授权 500 - 服务器内部发生了不可预期的错误 504Gateway Timeout - 网关或者代理的服务器无法在规定的时间内获得想要的响应

    • 响应报头域 image.png