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
支持语言
// 发送端<br>Content-Language: zh-CN, zh, en<br>// 接收端<br>Accept-Language: zh-CN, zh, en
字符集
// 发送端<br>Content-Type: text/html; charset=utf-8<br>// 接收端<br>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
加密算法<br>
对称加密
算法
AES、CHACHA20
分组模式
CBC、ECB、CTR、GCM、POLY1306
非对称加密
RSA
ECDHE
握手过程
RSA
RSA本身安全问题
TLS1.2<br>
1、Client Hello
2、Server Hello
3、Client 验证证书, 生成secret
4、Server生成secret
TLS1.3
精简加密算法
Session ID
Session Ticket
PSK
签名验证
作用
保证数据未被篡改
原理
私钥加密,公钥解密,比对哈希摘要
HTTP2
头部压缩
HPACK 算法
在服务器和客户端之间建立哈希表,只传索引,精简头部字段
对于整数和字符串进行哈夫曼编码
Huffman
多路复用
二进制分帧
流
并发性
自增性
双向性
设置优先级
请求优先级
服务器推送
0 条评论
下一页