HTTP
2023-01-18 17:24:42 2 举报
AI智能生成
HTTP协议大纲
作者其他创作
大纲/内容
跨站脚本攻击
数据包嗅探攻击
威胁
制定策略
描述策略
所有内容均来自站点的同一个源
内容来自信任的域名及其子域名
内容中包含来自任何源的图片但是限制音频
确保网站的所有内容都要通过SSL方式获取
示例
策略
内容安全策略(CSP)
提取Base64编码的公钥信息
HPKP头示例
Apache
Nginx
IIS
中间件使用示例
公钥锁定策略(HPKP)
语法
指令
描述
严格传输策略(HSTS)
会话状态管理
个性化设置
浏览器行为跟踪
使用场景
Secure标记
HttpOnly标记
标记
会话期Cookie
持久性Cookie
类型
Cookie的作用域
SameSite Cookies
创建Cookie
会话劫持和XSS
跨站请求伪造(CSRF)
HTTP cookies
X-Content-Type-Options 消息头
HAProxy
Express
中间件示例
X-Frame-Options 响应头
PHP
X-XSS-Protection
安全
CONNECT
DELETE
GET
HEAD
OPTIONS
PATCH
POST
PUT
TRACE
请求
一切正常
100 Continue
切换协议
101 Switching Protocol
预加载资源
103 Early Hints
1
请求成功
200 OK
成功创建资源
201 Created
服务端已受到请求
202 Accepted
存在代理修改的成功响应
203 Non-Authoritative Information
请求成功 客户端不需要离开当前页面
204 No Content
客户端重置文档视图
205 Reset Content
分块响应成功
206 Partial Content
2
请求拥有多种可能的响应
300 Multiple Choices
固定的不会再改变
301 Moved Permanently
重定向 但链接不更新
302 Found
指向另一个页面
303 See Other
无需再次传输请求的内容
304 Not Modified
临时的重定向
307 Temporary Redirect
永久的重定向
308 Permanent Redirect
3
服务器无法理解请求
400 Bad Request
缺乏目标资源要求的身份验证凭证
401 Unauthorized
付费后才可获取
402 Payment Required
服务端拒绝授权访问
403 Forbidden
无法找到所请求的资源
404 Not Found
请求方法被禁止
405 Method Not Allowed
无法提供指定的协商
406 Not Acceptable
代理服务器要求的身份验证未满足
407 Proxy Authentication Required
关闭没有在使用的连接
408 Request Timeout
请求与目标资源状态产生冲突
409 Conflict
目标资源在原服务器上不存在
410 Gone
(分块时)缺少长度头Content-Length
411 Length Required
条件请求失败
412 Precondition Failed
请求主体大小超过了服务器限度
413 Payload Too Large
URI 超过了服务器允许的范围
414 URI Too Long
不支持载荷的格式
415 Unsupported Media Type
无法处理所请求的数据区间
416 Range Not Satisfiable
服务器无法满足期望条件
417 Expectation Failed
服务器拒绝冲泡咖啡(......)
418 I'm a teapot
服务器无法处理所包含的指令
422 Unprocessable Entity
服务器不愿意冒风险过早处理该请求
425 Too Early
请求协议需要升级
426 Upgrade Required
前置条件验证失败
428 Precondition Required
请求超过了频次限制
429 Too Many Requests
请求头字段过大超过服务器限制
431 Request Header Fields Too Large
因法律原因不可用
451 Unavailable For Legal Reasons
4
服务端中存在错误响应
500 Internal Server Error
请求的方法不被服务器支持
501 Not Implemented
上游服务器响应错误
502 Bad Gateway
服务器尚未处于可以接受请求的状态
503 Service Unavailable
无法在规定的时间内从上游获得想要的响应
504 Gateway Timeout
服务器不支持请求所使用的 HTTP 版本
505 HTTP Version Not Supported
变量参与了内容协商
506 Variant Also Negotiates
不能存储相关内容
507 Insufficient Storage
处理具有“Depth: infinity”的请求时遇到了无限循环
508 Loop Detected
无法响应扩展请求
510 Not Extended
需要预先授权验证
511 Network Authentication Required
5
响应
请求和响应
概述
客户端
Web服务端
代理Proxies
1.打开一个TCP连接
2.发送一个HTTP报文
3.读取服务端返回的报文信息
4.关闭连接或者为后续请求重用连接
HTTP 流
Method
Path
Protocol
Headers
Status code
Status message
HTTP报文
短连接
长连接
Websocket
连接
基本概念
URLs
URNs
Data URIs
data
file
ftp
http/https
mailto
ssh
tel
urn
view-source
ws/wss
协议
ip地址
域名分片
域名地址
主机
80
433
端口
资源路径
路径
参数
查询
锚点
片段
URI
网络资源标识
独立类型
Multipart 类型
常见类型
MIME类型
资源和URIs
XMLHttpRequest(ajax)
fetch
功能概述
Accept
Accept-Language
Content-Language
Content-Type
Access-Control-Request-Method
Access-Control-Request-Headers
Access-Control-Allow-Origin
Access-Control-Allow-Credentials
Access-Control-Expose-Headers
Access-Control-Max-Age
Access-Control-Allow-Headers
相关请求头
跨域访问
Proxy-Authenticate
代理认证
403
拒绝访问
图片认证
WWW-Authenticate
资源认证
Authorization
服务认证
安全性
验证方案
身份认证
(私有)浏览器缓存
(共享)代理缓存
网关、CDN、反向代理、负载均衡
缓存类型
Get响应
永久重定向 301
错误响应 404
不完全的响应 206
缓存操作的目标
: no-store 没有缓存
: no-cache 缓存但重新验证
: private 私有缓存
: public 公共缓存
此时忽略Expires
: max-age=<seconds> 过期时间
Cache-Control(Pragma)
缓存控制
资源更新时为新资源设置版本号
原有资源也可以访问到
分布式场景中各个节点版本会不同
缓存更新
验证方式
Cache-Control: must-revalidate
缓存校验
ETag
此时忽略Last-Modified
校验匹配
If-None-Match (If-Match)
缓存验证
Vary: User-Agent
Vary 响应
缓存
各种文件格式的压缩
Accept-Encoding
Content-Encoding
端到端压缩技术
数据压缩
基本原理
last-modified
etag
验证器
If-Match
If-None-Match
If-Modified-Since
If-Unmodified-Since
If-Range
条件首部
增量下载的完整性
使用乐观锁避免更新丢失问题
处理资源的首次上传问题
应用场景
条件请求
基本原则
内容类型
客户端提示
Accept-CH
字符集类型
Accept-Charset
Accept-CH标头有效时间
Accept-CH-Lifetime
支持的压缩算法
支持的自然语言
用户代理软件(客户端)
User-Agent
未来的请求头
Vary
协商机制
内容协商
Accept-Ranges
Range
单一范围
multipart/byteranges
多重范围
条件式范围请求
Transfer-Encoding
分块编码
请求范围
网站重构
Moved Permanently
301
Permanent Redirect
308
永久重定向
页面暂不可用
Found
302
防止写操作重复触发
See Other
303
Temporary Redirect
307
临时重定向
手动重定向
Multiple Choice
300
验证条件请求
Not Modified
304
特殊重定向
类别
HTML
JavaScript
HTTP协议
优先级
非Http方式
域名别称
保持链接有效
对于不安全请求的临时响应
对于耗时请求的临时响应
服务器中的配置
重定向死锁
重定向
访问控制
HTTP
0 条评论
回复 删除
下一页