这是我参与「第五届青训营 」伴学笔记创作活动的第 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网关或者代理的服务器无法在规定的时间内获取想要的响应。