@WillireamAngel
2018-08-06T23:52:22.000000Z
字数 2833
阅读 997
前端
封装:数据信息包装
网络中转依赖于MAC地址查询,通过ARP实现IP到MAC的映射。
GET:获取资源
POST:传输实体主体
PUT:传输文件
HEAD:获取报文首部
DELETE:删除文件
OPTIONS:询问支持的方法
TRACE:追踪路径(返回之间的请求哦通信)
CONNECT:用隧道协议连接代理(主要使用SSL和TLS协议进行通信加密)
HTTP持久连接:
持久连接:HTTP keep-alive / HTTP connection reuse,HTTP/1.1所有连接默认是持久连接;
管线化:并发多个请求;
Cookie状态管理:Set-Cookie首部字段信息,
HTTP报文:报文首部+空行(CR+LF)+报文主体(传输请求或响应的实体主体)
首部:通用首部、请求首部、响应首部和实体首部
编码提升传输速率
MIME:多用途因特网邮件扩展,允许邮件处理文本、图片、视频等多个不同类型的数据。
Multipart:多部分对象集合方法,容纳多份不同类型的数据。
范围请求:Range Request:指定需要下载的实体范围,支持断点续传
内容协商:B/S对响应资源进行交涉,提供给B最合适的资源。内容协商以语言、字符集、编码方法等基准为判断响应的资源。
内容协商技术:服务器驱动协商(请求首部判断)、客户端驱动协商(类型检测切换)、透明协商
响应式(CSS实现)网站是同一个网站文件在浏览器端的不同呈现,是客户端驱动协商;中文版和英文版是服务端按请求头信息选择不同网站文件,是服务端驱动协商。
2XX成功:
200 OK 请求成功,返回资源或者头信息
204 No Content 请求处理成功,没有资源返回
206 Partial Content 范围请求,服务器成功执行该部分GET请求,Content-Range头信息
3xx 重定向:
301 Moved Permanently 永久性重定向(自动添加“/”,自动更改书签)
302 Found 临时性重定向 (分配了新的URI,希望使用新的URI,书签不变化)
303 See Other 请求资源对应另一个GET请求的资源(包含询问请求)
301、302、303相应状态码返回时,几乎所有的浏览器都会把POST改成GET,并删除请求报文的主体,之后请求胡自动再次发送。301和302标准禁止将POST改成GET方法
304 Not Modified 服务器资源未改变,可直接使用客户端未过期的缓存,304不包含任何响应部分的主体,与重定向没有关系。
307 Temporary Redirect 临时重定向,遵照标准,不将POST改成GET,与302含义相同
4xx 客户端错误:
400 Bad Request 请求报文存在语法错误,需修改请求再次发送请求
401 Unauthorized 请求认证和认证失败
403 Forbidden 请求资源的访问被服务器拒绝了(未获得访问权限)
404 Not Found 服务器上没有请求的资源
5xx 服务器错误:
500 Internal Server Error 服务端执行请求时发生了错误,可能是web应用bug或临时故障
503 Service Unavailable 服务器超载或停机维护,无法处理请求(最好写入Retry-After首部字段)
状态码和状况的不一致,状态码本身错误的情况也可能存在。
结构: 首部字段名:字段值
通用首部字段:请求报文和响应报文双方都会使用的首部
Cache-Control控制缓存 no-cache no-store
Connection控制不再转发给代理的首部字段、管理持久连接 close Keep-Alive
Date创建时间和日期
Pragma通用历史遗留
Trailer事先说明首部字段,用于HTTP/1.1分块传输编码
Transfer-Encoding传输报文主体编码方式
请求首部字段:客户端请求使用的首部
Accept 通知服务器用户代理处理的媒体类型及优先级
Accept-Charset 通知服务器用户代理的字符集及优先级
Accept-Encoding 通知服务器用户代理的内容编码及优先级
Accept-Language 通知服务器用户代理的自然语言集及优先级
Authorization 通知服务器用户代理的认证信息
Expect 通知服务器用户代理期望出现的特定行为
From 通知服务器用户代理的用户电子邮件地址
Host 请求资源所处互联网主机名和端口号
If-Match 匹配资源所用的实体标记值(ETag)
If-Modified-Since 字段时间后发生更新,处理请求
If-None-Match ETag不一致,处理请求
If-Range ETag和时间一致时,作为范围请求处理
If-Unmodified-Since 时间后未更新,处理请求
Max-Forwards 指定可经过的服务器最大数
Proxy-Authorization
Range 部分资源的范围请求
Referer 服务器请求的原始URL
TE 客户端能够处理的传输编码和优先级
User-Agent 创建请求的浏览器或用户代理信息
响应首部字段:服务端响应使用的首部
Accept-Ranges 能否处理范围请求bytes/none
Age 源服务器在多久前创建了响应
ETag 客户端实体标识,标记资源
Location 响应接收引导资源
Proxy-Authenticate 代理服务器认证
Retry-After 多久之后再次发送请求
Server HTTP服务器应用程序信息
Vary 缓存控制
WWW-Authenticate HTTP访问认证
实体首部字段:请求和响应报文的实体部分
Allow 通知客户端请求实体允许的方法
Content-Encoding 告知客户端服务端编码方式
Content-Language 告知客户端主体自然语言
Content-Length 实体主体部分大小
Content-Location 报文主体对应URI
Content-MD5 检查报文主体传输完整
Content-Range 告知客户端哪些主体符合范围请求
Content-Type 实体主体对象MIME
Epires 资源失效日期
Last-Modified 资源最终修改时间
为Cookie服务的首部字段:
Set-Cookie 响应首部
Cookie 请求首部
其它首部:
X-Frame-Options 控制网站内容标签显示
X-XSS-Protection 控制浏览器XSS防护开关
DNT 拒绝个人隐私被收集
P3P 个人隐私供程序理解
非HTTP/1.1首部字段:RFC 4229
端到端首部:转发给最终接收目标,保存在缓存中,必须被转发
逐跳首部:单次转发有效
消除HTTP瓶颈的SPDY
使用浏览器进行全双工通信的WebSocket
Web服务器管理文件的WebDAV