# 简介
HTTP
协议 (超文本传输协议 HyperText Transfer Protocol),它是基于 TCP 协议的应用层传输协议。是一种无状态 (stateless) 协议。
# HTTP URL
HTTP URL
包含了用于查找某个资源的详细信息,格式如下:
http://host[":"port][abs_path] |
# http 请求报文
# 请求行
- Method
- URL
- HTTP Version
GET /example.html HTTP/1.1 (CRLF) |
# http 协议
GET
: 请求获取 Request-URI 所标识的资源POST
: 在 Request-URI 所标识的资源后增加新的数据HEAD
: 请求获取由 Request-URI 所标识的资源的响应消息报头PUT
: 请求服务器存储或修改一个资源,并用 Request-URI 作为其标识DELETE
: 请求服务器删除 Request-URI 所标识的资源TRACE
: 请求服务器回送收到的请求信息,主要用于测试或诊断CONNECT
: 保留将来使用OPTIONS
: 请求查询服务器的性能,或者查询与资源相关的选项和需求
# 消息报头
只有 post 请求有请求正文,而 get 请求无。
# HTTP 响应状态码
状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
1xx
:指示信息 - 表示请求已接收,继续处理2xx
:成功 - 表示请求已被成功接收、理解、接受3xx
:重定向 - 要完成请求必须进行更进一步的操作4xx
:客户端错误 - 请求有语法错误或请求无法实现5xx
:服务器端错误 - 服务器未能实现合法的请求
常见状态代码、状态描述、说明:
200
: OK - 客户端请求成功400
: Bad Request - 客户端请求有语法错误,不能被服务器所理解401
: Unauthorized - 请求未经授权,这个状态代码必须和WWW-Authenticate
报头域一起使用403
: Forbidden - 服务器收到请求,但是拒绝提供服务404
: Not Found - 请求资源不存在,eg:输入了错误的 URL500
: Internal Server Error - 服务器发生不可预期的错误503
: Server Unavailable - 服务器当前不能处理客户端的请求,一段时间后,可能恢复正常