HTTP
2020-08-05 14:00:39 0 举报
AI智能生成
HTTP相关知识了解
作者其他创作
大纲/内容
请求方法
GET
POST
PUT
CONNECT
HEAD/DELETE/OPTIONS/TRACE
URI: 统一资源标识符
URL: 网址
scheme://user:passwd@host:port/path?query#frament
URN
Accept
数据格式
MIME标准
压缩方式
gzip
deflate
br
支持语言
// 发送端
Content-Language: zh-CN, zh, en
// 接收端
Accept-Language: zh-CN, zh, en
Content-Language: zh-CN, zh, en
// 接收端
Accept-Language: zh-CN, zh, en
字符集
// 发送端
Content-Type: text/html; charset=utf-8
// 接收端
Accept-Charset: charset=utf-8
Content-Type: text/html; charset=utf-8
// 接收端
Accept-Charset: charset=utf-8
HTTP1.1
并发连接
域名分片
Cookie
解决无状态http
生存周期
Expires 过期时间
Max-Age 时间间隔,单位是秒,从浏览器收到报文开始计算
作用域
Domain
path
安全相关
Secure
HTTPS 传输
HttpOnly
只能通过 HTTP 协议传输,不能通过 JS 访问,这也是预防 XSS 攻击的重要手段
SameSite
Strict
浏览器完全禁止第三方请求携带Cookie
Lax
在 get 方法提交表单况或者a 标签发送 get 请求的情况下可以携带 Cookie,其他情况均不能
None
默认模式,请求会自动携带上 Cookie
缺点
容量缺陷
4KB
性能缺陷
安全缺陷
HTTP代理
功能
负载均衡
保障安全
缓存代理
相关头部字段
Via 代理服务器身份
X-Forwarded-For 请求方IP
代理协议
X-Real-IP 客户端真实IP
HTTP缓存
强缓存
协商缓存
代理缓存
源服务器控制部分
private/public
proxy-revalidate
s-maxage
客户端控制部分
max-stale / min-fresh
only-if-cached
跨域
同源政策
方案
CORS
Access-Control-Allow-Origin
Access-Control-Allow-Credentials
Access-Control-Expose-Headers
JSONP (script标签 + 回调函数)
只支持GET
Nginx 反向代理
postMessage
websocket
报文
请求
请求行
GET /home HTTP/1.1 (方法 + 路径 + http版本)
header
body
响应
请求行
HTTP/1.1 200 OK (http版本、状态码和原因)
header
body
状态码
1xx: 中间等待状态
101
2xx: 成功
200 成功返回数据
204 No Content 成功,没有返回数据
206 Partial Content顾名思义,表示部分内容
3xx: 重定向,发生位置变动,重新请求
301 永久重定向
302 临时重定向
304 协商缓存
4xx:请求有错
403 禁止访问
404 资源未找到
5xx:服务器发生错误
500 服务器错误
503 服务器忙
特点、缺点
特点
灵活可扩展
可靠传输
请求—应答
无状态
缺点
无状态
明文传输
队头阻塞
数据传输
定长数据
Content-Length, 会进行截取
不定长数据
Transfer-Encoding: chunked
大文件
范围请求 Accept-Ranges: none
表单数据
Content-Type
application/x-www-form-urlencoded
multipart/form-data 多用于上传
HTTPS
加密算法
对称加密
算法
AES、CHACHA20
分组模式
CBC、ECB、CTR、GCM、POLY1306
非对称加密
RSA
ECDHE
握手过程
RSA
RSA本身安全问题
TLS1.2
1、Client Hello
2、Server Hello
3、Client 验证证书, 生成secret
4、Server生成secret
TLS1.3
精简加密算法
Session ID
Session Ticket
PSK
签名验证
作用
保证数据未被篡改
原理
私钥加密,公钥解密,比对哈希摘要
HTTP2
头部压缩
HPACK 算法
在服务器和客户端之间建立哈希表,只传索引,精简头部字段
对于整数和字符串进行哈夫曼编码
Huffman
多路复用
二进制分帧
流
并发性
自增性
双向性
设置优先级
请求优先级
服务器推送
0 条评论
下一页