1.http请求方法
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
序号 | 方法 | 描述 |
---|---|---|
1 | GET | 请求指定的页面信息,并返回实体主体。 |
2 | HEAD | 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。 |
4 | PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
5 | DELETE | 请求服务器删除指定的页面。 |
6 | CONNECT | HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。 |
7 | OPTIONS | 允许客户端查看服务器的性能。 |
8 | TRACE | 回显服务器收到的请求,主要用于测试或诊断。 |
9 | PATCH | 是对 PUT 方法的补充,用来对已知资源进行局部更新 。 |
2.请求/响应报文
1)请求消息Request
- 请求行(请求方法,URL地址,协议版本)
- 请求头部
- 空行
- 请求数据
2)HTTP响应消息Response
- 状态行(协议版本,状态码)
- 消息报头
- 空行
- 响应正文
3. 请求返回状态码
一些常见的状态码为:
200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用
1xx(临时响应)
表示临时响应并需要请求者继续执行操作的状态代码。
- 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。(HTTP1.1)
- 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。
2xx (成功)
表示成功处理了请求的状态代码。
- 200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 (协商缓存)
3xx (重定向)
表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
- 301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
- 302 (临时移动) 服务器临时从不同的 URI 响应请求。由于这样的重定向是临时的,因此以后客户端在发送请求时,还是用原有地址发送
- 304 (未修改) 自从上次请求后,请求的文档内容未修改过。 服务器返回此响应时,不会返回网页内容。(协商缓存)
4xx(请求错误)
这些状态代码表示请求可能出错,妨碍了服务器的处理。
- 400 (错误请求) 服务器不理解请求的语法,或者请求参数有误
- 401 (未授权) 当前请求需要用户验证。 对于需要登录的网页,服务器可能返回此响应。
- 403 (禁止) 服务器已经理解请求,但是拒绝执行它。
- 404 (未找到) 服务器找不到请求的网页。
- 405 (方法禁用) 禁用请求中指定的方法。
- 408 (请求超时) 服务器等候请求时发生超时。
5xx(服务器错误)
这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
- 500 (服务器内部错误) 服务器遇到错误,无法完成请求。(解决办法传参数不正确)
- 503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。