http请求内容

Cookie 可以包含多个键值对,因此它不仅限于单个值。一个 Cookie 可以携带多个属性,每个属性由键值对表示

Set-Cookie: name=value; expires=Sat, 30 Apr 2022 23:59:59 GMT; path=/; domain=.example.com; secure; HttpOnly

在HTTP协议中,请求头之间使用回车加换行符(CRLF,即\r\n)进行分割

Header1: Value1\r\n

Header2: Value2\r\n

Header3: Value3\r\n

  • Host 请求头用于指定客户端发起请求的目标服务器的主机名和端口号
    Host: www.example.com:8080
  • Referer 请求头用于指示请求的来源 URL,即告诉服务器请求是从哪个页面跳转过来的。它记录了当前请求的来源页面的 URL 地址。
    例如,当用户点击网页上的链接或提交表单时,浏览器会将 Referer 请求头包含在发送的请求中,以告知服务器请求的来源。
  • content-type:body内容的格式

text/plain:纯文本,不包含任何格式的文本数据。

text/html:HTML 格式的文档。

application/json:JSON 格式的数据。

application/xml:XML 格式的数据。

multipart/form-data:表单数据,用于文件上传等场景。

application/x-www-form-urlencoded:URL 编码的表单数据。

image/jpeg:JPEG 图像格式。

image/png:PNG 图像格式。

application/pdf:PDF 文档格式。

application/octet-stream:二进制数据流,通常用于文件下载等场景。

  • Authorization:请求头
    JWT返回: 服务器将生成的 JWT或其他凭证发送回客户端。
    请求认证: 客户端在每个后续请求中将 JWT或者其他凭证 添加到 Authorization 头中发送给服务器。
csharp 复制代码
Authorization: Bearer <token>
  • set-cookie:响应头中携带
    浏览器在本地存储 cookie 时会存储 cookie 的名称和值,以及与 cookie 相关的元信息(如过期时间、路径、域、安全标志等)。当浏览器发送请求时,它只会在请求头部中携带 cookie 的名称和值,而不会携带其他元信息。
csharp 复制代码
Set-Cookie: name=value; Expires=Wed, 09 Jun 2021 10:18:14 GMT; Max-Age=3600; Domain=example.com; Path=/subdir; Secure; HttpOnly; SameSite=None
Set-Cookie: name1=value1; Expires=Wed, 09 Jun 2021 10:18:14 GMT; Max-Age=3600; Domain=example.com; Path=/subdir; Secure; HttpOnly; SameSite=None

name=value: Cookie 的名称和值。

Expires=Wed, 09 Jun 2021 10:18:14 GMT: 指定 Cookie 的过期时间。

Max-Age=3600: 指定 Cookie 的最大生存时间(单位为秒)。

Domain=example.com: 指定了 Cookie 可以发送到的域。

Path=/subdir: 指定了服务器上的路径,Cookie 只有在这个路径下才发送。

Secure: 指定该 Cookie 只能通过 HTTPS 连接发送到服务器。

HttpOnly: 设置了此标志后,Cookie 将无法通过 JavaScript 访问。

SameSite=None: 设置了 SameSite 属性,以防止跨站点请求伪造 (CSRF) 攻击。

通常情况下,建议使用Max-Age而不是Expires,因为Max-Age相对Expires更加灵活且易于处理。如果两者同时设置了,浏览器会优先遵循Max-Age的值。

  • cookie:当访问到本地cookie对应的域名时,如果cookie没有过期,浏览器会自动携带
一个http响应可以携带多个cookie
csharp 复制代码
GET /example_page HTTP/1.1
Host: example.com
Cookie: sessionid=abc123; user_pref=dark_mode; cart_items=3
csharp 复制代码
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 235
Date: Wed, 20 Apr 2022 08:00:00 GMT
Server: Apache

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Example</title>
</head>
<body>
    <h1>Hello, World!</h1>
    <p>This is an example HTML page.</p>
</body>
</html>
相关推荐
ch.ju几秒前
Java程序设计(第3版)第四章——继承的调用
java·开发语言
W_LuYi18511 分钟前
Tauri + Rust + Vue 3 打造极速轻量桌面应用
java·开发语言·vue.js·rust
少司府12 分钟前
C++进阶:红黑树
开发语言·数据结构·c++·b树·二叉树·红黑树
特种加菲猫29 分钟前
哈希表的实现
开发语言·c++
C+-C资深大佬29 分钟前
Python 新手学习指南
开发语言·python
小张小张爱学习32 分钟前
Java基础面试题
java·开发语言
Drone_xjw41 分钟前
Qt国际化多语言配置详解-入门到精通
开发语言·qt·命令模式
爱吃提升42 分钟前
Python 多线程 threading + 多进程 multiprocessing 完整实操教程
开发语言·python
不会C语言的男孩1 小时前
C++ Primer 第18章:用于大型程序的工具
开发语言·c++
星恒随风1 小时前
C++ 类和对象入门(三):拷贝构造、赋值运算符重载和深浅拷贝
开发语言·c++·笔记·学习