HTTP的场景实践-B站 | 青训营

101 阅读4分钟

image.png

  1. 请求 URL: https://api.bilibili.com/x/v3/fav/folder/list4navigate

    • 这是请求的URL,指向Bilibili的API,请求获取收藏夹列表。
  2. 请求方法: GET

    • 这是请求类型,GET表示这是一个简单的读取请求,不会修改服务器上的数据。
  3. 状态代码: 200

    • 这是HTTP响应的状态码,200表示请求成功。
  4. 远程地址: 183.131.147.29:443

    • 这是服务器所在的远程地址和端口。
  5. 引用者策略: no-referrer-when-downgrade

    • 这个头部定义了当引用页面从HTTPS降级到HTTP时,是否需要发送引用者信息。
  6. Access-Control-Allow-Credentials: true

    • 这个头部允许服务器在跨域请求中发送带有敏感信息的Cookie。
  7. Access-Control-Allow-Headers: Origin,No-Cache,X-Requested-With,If-Modified-Since,Pragma,Last-Modified,Cache-Control,Expires,Content-Type,Access-Control-Allow-Credentials,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Cache-Webcdn,x-bilibili-key-real-ip,x-backend-bili-real-ip,x-risk-header

    • 这个头部列出了服务器接受的请求头部信息。这主要用于跨域请求和防止CSRF等攻击。
  8. Access-Control-Allow-Methods: GET,POST,PUT,DELETE

    • 这个头部列出了服务器接受的所有请求方法。
  9. Access-Control-Allow-Origin: https://www.bilibili.com

  10. Access-Control-Expose-Headers: X-Bili-Gaia-Vvoucher

    • 这个头部定义了在跨域请求中哪些响应头部可以被暴露给JavaScript。
  11. Bili-Status-Code: 0

    • 这个头部可能是Bilibili的自定义状态码,0表示没有错误。
  12. Bili-Trace-Id: 4b76433e4b64d347

    • 这个头部可能是用于跟踪请求的ID。
  13. Content-Encoding: gzip

    • 这个头部表示响应的内容经过了gzip压缩。
  14. Content-Type: application/json; charset=utf-8

    • 这个头部定义了响应的内容类型和字符集,这里是JSON类型,UTF-8字符集。
  15. Cross-Origin-Resource-Policy: cross-origin

    • 这个头部是Chrome的新特性,用于控制资源是否可以从不同的源获取。
  16. Date: Wed, 09 Aug 2023 08:01:47 GMT

    • 这个头部定义了响应生成的时间。
  17. Vary: Origin

    • 这个头部告诉缓存服务器,只有当请求的Origin头部改变时才需要重新获取响应。这有助于实现更高效的缓存。
  18. X-Bili-Trace-Id: 2b9d9f8c2c9bbd814b76433e4b64d347

    • 这个头部可能是Bilibili的另一个跟踪ID。
  19. X-Cache-Webcdn: BYPASS from blzone11

    • 这个头部表示这个响应来自一个CDN服务,并被BYPASS处理。
  20. :authority: api.bilibili.com

    • 这个HTTP头表示请求的权威域名,这里是api.bilibili.com。
  21. :method: GET

    • 这个HTTP头表示请求的方法,这里是GET。
  22. :path: /x/v3/fav/folder/list4navigate

    • 这个HTTP头表示请求的路径,这里是/x/v3/fav/folder/list4navigate。
  23. :scheme: https - 这一行表示请求使用的协议是HTTPS。

  24. Accept: application/json, text/plain, */* - 这一行表示客户端可以接受响应的内容类型为JSON、纯文本或任何其他类型的数据。

  25. Accept-Encoding: gzip, deflate, br - 这一行表示客户端可以接受使用gzip、deflate或br压缩的响应。

  26. Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 - 这一行表示客户端接受的语言为中文(简体和繁体)、英文和英文(英国)。q值表示对这些语言的偏好程度,其中0.9表示中文,0.8表示英文。

  27. Cookie: buvid3=xxxxxxxxxxxxxxxxxxxxxxinfoc; b_nut=1672558759; i-wanna-go-back=-1;... - 这一行表示客户端发送给服务器的Cookie信息。这些Cookie通常用于保存用户的会话状态或其他信息。

  28. Origin: https://www.bilibili.com - 这一行表示请求的来源URL,即请求来自www.bilibili.com。

  29. Referer: https://www.bilibili.com/ - 这一行表示请求的引用页URL,即请求是从www.bilibili.com页面发出的。

  30. Sec-Ch-Ua: "Not/A)Brand";v="99", "Microsoft Edge";v="115", "Chromium";v="115" - 这一行表示用户代理信息,其中包含浏览器的名称和版本信息。

  31. Sec-Ch-Ua-Mobile: ?0 - 这一行表示是否为移动设备。

  32. Sec-Ch-Ua-Platform: "Windows" - 这一行表示操作系统平台信息,这里为Windows。

  33. Sec-Fetch-Dest: empty - 这一行表示请求的目标资源类型。

  34. Sec-Fetch-Mode: cors - 这一行表示跨源资源共享(CORS)模式。

  35. Sec-Fetch-Site: same-site - 这一行表示请求的来源是否与当前页面同源。

  36. User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.188 - 这一行表示用户代理的详细信息,包括浏览器名称、版本、操作系统等。