HTTP协议
HTTP是一个属于应用层的协议,特点是简洁、快速。
HTTP协议-URL
格式如下:
schema://host[:port]/path[?query-string][#anchor]
- schema 指定底层使用的协议(例如:http,https,ftp)
- host 服务器的IP地址或域名
- port 服务器端口,默认为80
- path 访问资源的路径
- query-string 发送给http服务器的数据
- anchor 锚
[ ]里的非必填 用?表示URL结束和请求参数开始
例如:http://127.0.0.1:8080/resource?id=1
HTTP协议-请求
组成格式:请求行、消息报头、请求正文
格式如下:
Method Request-URL HTTP-Version CRLF
例如:GET/HTTP/1.1 CRLF
请求方法:
- GET 请求获取资源
- POST 请求附加资源
- PUT 请求更新资源
- DELETE 请求删除资源
- PATCH 请求更新资源的部分属性
- HEAD 请求消息信息的报头
- OPTIONS 请求查询服务器性能,或查询与资源相关的选项和需求
HTTP协议-响应
组成格式:状态行、消息报头、响应正文
格式如下:
HTTP-Version Status-Code Reason-Phrase CRLF
例如:HTTP/1.1 200 OK
状态码
- 200 OK 客户端请求成功
- 201 Created 新资源被创建
- 202 Accepted 已接受处理请求但尚未完成(异步处理)
- 301 Moved Permanently 资源的URL被更新
- 303 See Other 其他(如负载均衡)
- 400 Bad Request 客户端请求有语法错误,不能被服务器所理解
- 401 Unauthorized 服务器受到请求,但是拒绝提供服务
- 404 Not Found 请求资源不存在
- 406 Not Acceptable 服务器不支持所需表示
- 409 Conflict 通用冲突
- 412 Precondition Failed 前置条件失败
- 415 Unsupported Media Type 接收到的表示不受支持
- 500 Internal Server Error 服务器发生不可预期的错误
- 503 Server Unavailable 服务器当前不能处理客户端的请求