HTTP 速查手册
创始人
2024-03-16 19:30:35
0

一、通用身份验证

# 服务端返回401,并告知验证类型为Basic
GET 401 Unauthorized
WWW-Authenticate: Basic realm="description"# 浏览器输入验证信息后,请求头中携带验证信息
Authorization: Basic xxxxxxxxxx

二、Cookie

# 服务端返回set-cookie
set-cookie: name=xxxxx
set-cookie: age=xxxxx# 用户代理记录Cookie,并在下次请求时携带Cookie
Cookie: name=xxxxx; age=xxxxx

三、永久重定向

# 状态码配置为301GET 301
Location: http://example.com

四、临时重定向

# 状态码配置为302GET 302
Location: http://example.com

五、HTML 重定向


// 通过JS实现重定向window.location = "http://example.com/";

六、访问控制策略

// headers配置// 允许所有来源
Access-Control-Allow-Origin: *
// 允许所有方法
Access-Control-Allow-Methods: *
// 允许所有Headers
Access-Control-Allow-Headers: *
// 响应的有效时间为 86400 秒,也就是 24 小时。在有效时间内,浏览器无须为同一请求再次发起预检请求。
Access-Control-Max-Age: 86400

七、HTTP 缓存

混存的种类:

  • 私有缓存。eg:浏览器
  • 共享缓存
    • 代理缓存。eg:代理设备(Nginx 代理)
    • 托管缓存。eg:反向代理、CDN 和 service worker 与缓存 API 的组合。

7.1 Cache-Control

Response:

valuedescription
private数据可以被私有缓存存储(eg:浏览器)
public数据可以被共享缓存存储 (eg:代理缓存、托管缓存)
no-cache相应的数据可以被缓存,但之后的每次请求需要向源服务端做文件有效性校验
no-store任何种类的缓存(私有缓存、共享缓存)都不应缓存数据
max-age=0不直接使用本地缓存,需向目标服务端做新鲜度
must-revalidate缓存未过期时,可以直接使用;过期后,需要向源服务端做文件有效性校验
proxy-revalidate等价于must-revalidate ,但仅共享缓存有效

Request

valuedescription
no-cache要求缓存做新鲜度校验
no-store即使源服务端的响应,可以被缓存,也不应该缓存
max-age客户端告诉服务端,客户端允许的最大缓存时长(秒)

7.2 验证响应

基于文件最后更新时间

Last-Modified / If-Modified-Since

基于正文内容 Hash

ETag / If-None-Match

强制重新验证

方式一:

Cache-Control: no-cache

方式二:

Cache-Control: max-age=0, must-revalidate

八、范围请求

STEP 1:检测是否支持范围请求

curl -I http://example.com# 若支持范围请求,则Headers中存在Accept-Ranges、Content-Length
HTTP/1.1 200 OK
...
Accept-Ranges: bytes
Content-Length: 146515

Accept-Ranges字段存在,且值非none,则支持范围请求。

STEP 2:发送范围请求

curl http://exmaple.com/test.jpg -i -H "Range: bytes=0-1023"# 响应头
HTTP/1.1 206 Partial Content
Content-Range: bytes 0-1023/146515
Content-Length: 1024
...
(binary content)

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...