http | 青训营笔记

39 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天

什么是http?

  • 超文本传输协议
  • 应用层协议,基于TCP协议
  • 请求响应机制
  • 简单可拓展
  • 无状态

组成部分

请求报文和响应报文都是由请求/响应行+请求/响应头+空行+请求/响应体4部分组成。

  • 请求行:由http方法+http版本号组成
  • 响应行: 由http版本号+状态码+状态消息组成
  • 请求/响应头:由key-value组成
  • 请求体:请求消息主题

常见的http方法

  • get:请求一个指定资源的表示形式,使用get的请求应该只被用于获取数据
  • post:用于将实体提交到指定的资源,通过导致在服务器上的状态变化或副作用
  • put:用请求有效载荷替换目标资源的所有当前表示
  • delete:删除指定的资源
  • head:请求一个与get请求的响应相同的响应,但没有响应体
  • connect:建立一个由目标资源标识的服务器的隧道
  • options:用于描述目标资源的通信选项
  • trace:沿着到目标资源的路径执行一个消息环回测试
  • patch:用于对资源应用部分修改

常见状态码

  • 1xx:指示信息,表示请求已接受,继续处理
  • 2xx:表示请求已被成功接收、理解、接受
  • 3xx:重定向,要完成请求必须进行更进一步的操作
  • 4xx:客户端错误,请求有语法错误或请求无法实现
  • 5xx:服务端错误,服务器未能实现合法的请求
  • 200:Ok,客户端请求成功
  • 301:资源被永久转移到其它URL
  • 302:临时跳转
  • 401:Unauthorized,请求未经授权
  • 404:请求资源不存在,可能是输入了错误的URL
  • 500:服务器内部发生了不可预期的错误
  • 504:Getway timeout网关或者代理的服务器无法在规定的时间内获取想要的响应。