HTTP不同版本的区别
HTTP报文格式
HTTP标准:由万维网协会(W3C)互联网工程任务组(IETF)协调指定,最终发布了一系列的RFC
RFC:Request For Comments-请求意见稿
HTTP报文格式
HTTP请求报文 | | | | | | |
---|
方法 | | URI | | 版本 | CRLF | 请求行 |
首部字段名 | : | | 值 | CRLF | 首部行 | |
… | | | | | | |
首部字段名 | : | | 值 | CRLF | 首部行 | |
CRLF | | | | | | |
实体主体 | | | | | | |
HTTP响应报文 | | | | | | |
---|
版本 | | 状态吗 | | 短语 | CRLF | 状态行 |
首部字段名 | : | | 值 | CRLF | 首部行 | |
… | | | | | | |
首部字段名 | : | | 值 | CRLF | 首部行 | |
CRLF | | | | | | |
实体主体 | | | | | | |
HTTP报文内容说明
HTTP请求方法
GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE
方法 | 说明 |
---|
GET | 用于读取操作、请求参数直接拼接到URL后边(浏览器对URL参数长度由限制) |
POST | 常用于添加、修改、删除的操作,请求参数可以放到请求体中(没有限制大小) |
HEAD | 请求得到与GET请求相同的响应,但是没有请求题(获取资源大小) |
OPTIONS | 御用获取目的资源所支持的通信选项,比如服务器支持的请求方式 |
PUT | 用于对已存在的资源进行整体覆盖 |
DELETE | 用于删除资源 |
TRACE | 请求服务器回显其收到的请求信息,主要用于HTTP请求的测试或诊断 |
CONNECT | 可以开启一个客户端与所请求资源之间的双向沟通的渠道,创建隧道 |
HTTP请求头字段Request Header Filed
头部字段 | 说明 | 事例 |
---|
User-Agent | 浏览器身份标识字段 | User-Agent:xxxx |
Host | 服务器的域名端口号 | Host:xxxxx |
Date | 发送该消息的日期和时间 | Date:xxx |
Refer | 标识一个浏览器所访问的上一个页面 | Refer:xxx |
Content-Type | 请求的类型 | Content-Type:multipart/form-data |
Content-Length | 请求体的长度(以字节为单位) | Content-Type:6666 |
Accept | 能够接收响应的类型(Content-Types) | Accept:text/plain |
Accept-Charset | 能够接受的字符集 | Accept-Charest:GB232 , utf-8 |
Accept-Encoding | 能够接受的编码方式列表 | Accept-Encoding :gzip |
Accept-Langue | 能够接受的响应内容的自然语言列表 | Accept-Langue:en-US |
Origin | 发起一个针对跨域资源共享的请求 | Origin:www.bai.com |
Cookie | 之前由服务器设置set-Cookie 发送的Cookie | Origin:www.bai.com |
Connection | 该浏览器想要有限使用的连接类型 | Connection:keep-alive |
Cache-Control | 用来指定在这次的请求/响应链中的所有缓存机制都必须遵守的指令 | Cache-Control:np-cache |
HTTP响应头字段Response Header Filed
头部字段 | 说明 | 示例 |
---|
Last-Modified | 所请求对象的最后修改日期 | Last-Modified:xxxx |
Server | 服务器的名字 | Server:xxxxx |
Expires | 指定一个时间,超过该时间则认为此响应已过期 | Expires:xxx |
Refer | 标识一个浏览器所访问的上一个页面 | Refer:xxx |
Content-Disposition | 一个可以让客户端下载文件并建议文件名的头部 | Content-Disposition:attachment; filename=“fname.text” |
Access-Control-allow-Origin | 指定哪些网站可参与到跨域来源资源共享过程中 | Access-Control-allow-Origin:* |
Set-Cookie | 返回一个Cookie让客户端去保存 | Set-Cookie:UserID=xxx;Max-Age=3600;Version=1 |
Cache-Control | 告知客户端的缓存机制对象,是否可缓存这个对象,单位为秒 | Cache-Control:max-age=3600 |
头部字段 | 说明 |
---|
信息响应 | 100~199 |
成功响应 | 200~299 |
重定向 | 300~399 |
客户端错误 | 400~499 |
服务器错误 | 500~599 |
常用状态码
状态码 | 短语 | 说明 |
---|
100 | Continue | 请求初始部分已经被服务器收到,并且没有被服务器明确拒绝。客户端应该发送剩余的请求、如果请求已经完成,就忽略这个响应 |
200 | OK | 请求成功 |
302 | Found | 重定向 请求的资源被暂时的移动到了右Location头部指定的URL上 |
304 | Not Modified | 说明无须再次传输请求的内容,也就是说可以使用缓存的数据 |
400 | Bad Request | 语法无效,服务器无法理解该请求 |
401 | Unauthorized | 由于缺乏目标资源要求的身份验证凭证 |
403 | Forbidden | 服务器右能力处理该请求,但是拒绝授权访问 |
404 | Not Found | 服务端无法找到所请求的资源 |
405 | Method Not Allowed | 服务器禁止了使用当前的HTTP方法请求 |
408 | Request Timeout | 服务器想要将没有在使用的连接关闭 |
500 | Internal Server Error | 请求服务器遇到意外,并阻止其执行请求 |