这是我参与「第五届青训营 」伴学笔记创作活动的第 11 天
一.什么是HTTP
Hyper Text Transfer Protocol超文本传输协议 应用层协议,基于TCP协议 请求 响应 简单可扩展 无状态
二.协议分析
HTTP协议的报文是由header+body组成的。
请求方法
| 方法 | 描述 |
|---|---|
| GET | 请求指定的页面信息,并返回实体主体。 |
| HEAD | 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头 |
| POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立或已有资源的修改 |
| PUT | 从客户端向服务器传送的数据取代指定的文档的内容 |
| DELETE | 请求服务器删除指定的页面 |
| CONNECT | 建立一个到由目标资源标识的服务器的隧道 |
| OPTIONS | 允许客户端查看服务器的性能 |
| TRACE | 回显服务器收到的请求,主要用于测试或诊断 |
| PATCH | 用于对资源应用部分修改 |
Sate Method:不会修改服务器资源的方法(GET、HEAD、OPTIONS) IDempotent Method(幂等方法):同样的请求只执行一次和连续执行多次效果是一样的,服务器的状态也是一样的。所有的safe method都是幂等的(GET、HEAD、OPTIONS、PUT、DELETE)
状态码
1xx:指示信息,表示请求已接收,继续处理
2xx:成功,表示请求已被成功接收、理解、接受
3xx:重定向,要完成请求必须进行更进一步的操作
4xx:客户端错误,请求有语法错误或请求无法实现
5xx:服务端错误,服务端未能实现合法的请求。
在这些状态码中,比较常见的有:
200 OK —客户端请求成功
301 永久重定向
302 临时重定向
401 请求未经授权
404 请求资源不存在,可能是输入了错误的URL
500 服务器内部发生了不可预期的错误
504 Gateway Timeout-网关或者代理的服务器无法在规定的时间内获得想要的响应