HTTP请求报文
请求方法:
OPTIONS | 使服务器回传URL指定的资源所支持的HTTP请求方法 |
GET | 向服务器请求获取URL指定的资源。GET报文没有请求体 |
HEAD | 与GET类似,但是该方法只获取某个资源的元数据,响应报文中不包含资源本身 |
POST | 向URL指定的资源提交数据,数据就是请求体中的数据 |
PUT | 向URL指定的位置上传资源 |
DELETE | 请求服务器删除URL指定的资源 |
TRACE | 有点像echo,原来的请求报文会包含在响应报文的响应体中 |
URL:
目标资源的位置。只包含一个完整的文件路径和查询字符串,而不包含协议、主机名和端口号。
协议版本:
HTTP/1.0 或 HTTP/1.1
HTTP1.0对于每个连接都只能传送一个请求和响应,请求就会关闭,HTTP1.0没有Host字段;而HTTP1.1在同一个连接中可以传送多个请求和响应,多个请求可以重叠和同时进行,HTTP1.1必须有Host字段。
头字段名:
Accept | 客户端可接收资源的类型 |
Accept-Charset | 客户端可接收的字符集 |
Accept-Encoding | 客户端可接收的数据压缩类型 |
Accept-Languague | 客户端可接受的语言 |
Authorization | 授权信息 |
Cache-Control | 本次请求和响应的缓存机制 |
Connection | 处理完本次请求后是继续保持连接(这里的值是Keep-Alive或协议是HTTP/1.1)还是断开连接 |
Cookie | 发送给服务器的cookie |
Content-Type | 请求体数据的类型 |
Content-Length | 请求体数据的大小,单位为字节 |
Host | 请求的网站域名 |
Range | 请求资源的某一部分,例:Range: bytes=328-421 |
Referer | 来源网页的地址 |
User-Agent | 版本信息 |
请求体:
如果方法字段是GET,就为空
如果方法字段是POST,就在此存放要提交的数据
HTTP响应报文
协议版本:
HTTP/1.0 或 HTTP/1.1
状态码 | 描述 | |
---|---|---|
100-199 | 成功接受请求,要求客户端继续提交请求以完成整个处理过程 | |
200 | OK | 请求成功,所请求的内容与响应报文一起返回 |
301 | Moved Permanently | 请求的资源已被永久移动到新的位置 |
302 | Found | 请求的资源现在临时移到新的位置 |
304 | Not Modified | 所请求的资源和上次请求没有变化,要求客户端使用之前的缓存 |
400 | Bad Request | 请求参数或语义有错,服务器无法理解 |
401 | Unauthorize | 请求需要验证用户 |
403 | Forbidden | 服务器拒绝访问 |
404 | Not Found | 服务器上没有所请求的资源 |
408 | Request Timeout | 请求超时 |
500 | Internal Server Error | 未知错误 |
503 | Service Unavailable | 服务器暂时不可用 |
头字段名:
Allow | 对资源请求所允许的方法 |
Cache-Control | 告知客户端是否可以缓存该资源 |
Content-Encoding | 响应体数据压缩方式 |
Content-Length | 响应体数据大小,单位为字节 |
Content-Location | 所请求资源的候选地址 |
Content-Type | 响应体数据的类型 |
Date | 当地的GMT时间 |
Last-Modified | 所请求资源最后被修改的时间 |
Location | 将请求重定向的地址,配合302使用 |
Server | 服务器的信息 |
响应体:
所请求资源的数据
注:可以参考,但实验报告需要注明来源(李昊宸)。