web端http请求响应头集合

  1. 字节长度

在 HTTP 响应头中,除了 `Content-Type` 外,还有许多其他重要的属性。以下是一些常见且关键的响应头属性:

  1. **Content-Length**
  • **作用**:指示响应体的大小(以字节为单位)。

  • **示例**:`Content-Length: 348`

  • 用途:帮助客户端了解如何读取响应数据,确保响应内容的完整接收。

  1. **Cache-Control**
  • **作用**:用于控制缓存机制,如缓存是否过期、缓存时间等。

  • **示例**:`Cache-Control: no-store` 或 `Cache-Control: max-age=3600`

  • 用途:告知客户端或中间缓存服务器如何缓存响应数据。

  1. **Expires**
  • **作用**:指定响应过期的时间。过期时间通常是一个 GMT 格式的日期。

  • **示例**:`Expires: Tue, 20 Oct 2024 16:00:00 GMT`

  • 用途:指示缓存内容的失效时间,与 `Cache-Control` 配合使用。

  1. **ETag**
  • **作用**:标识响应内容的唯一版本。如果内容未发生变化,客户端可以使用该值来避免不必要的数据传输。

  • **示例**:`ETag: "686897696a7c876b7e"`

  • 用途:用于协商缓存,客户端可以使用该值来验证本地缓存是否有效。

  1. **Last-Modified**
  • **作用**:指示响应体的最后修改时间。

  • **示例**:`Last-Modified: Wed, 21 Oct 2024 07:28:00 GMT`

  • 用途:客户端可以用它来决定是否需要重新获取数据,配合 `If-Modified-Since` 请求头使用。

  1. **Location**
  • **作用**:在 3xx 重定向响应中指示客户端重定向的目标 URL。

  • **示例**:`Location: https://example.com/newpage\`

  • 用途:用于重定向响应,如 301(永久重定向)或 302(临时重定向)等状态码。

  1. **Server**
  • **作用**:指示处理请求的服务器软件的名称及版本。

  • **示例**:`Server: Apache/2.4.46 (Ubuntu)`

  • 用途:提供有关服务器的信息,可能用于调试或分析。

  1. **Set-Cookie**
  • **作用**:设置 cookies 给客户端,用于在后续请求中进行会话管理或存储其他状态信息。

  • **示例**:`Set-Cookie: sessionid=abc123; Path=/; HttpOnly`

  • 用途:客户端存储 cookies,并在随后的请求中带上这些 cookies。

  1. **Access-Control-Allow-Origin**
  • **作用**:允许跨域请求的源。通常在 CORS(跨源资源共享)中使用。

  • **示例**:`Access-Control-Allow-Origin: *`

  • 用途:指定哪些源(域名)可以访问资源。

  1. **Content-Encoding**
  • **作用**:指示响应体的编码格式,通常用于压缩内容。

  • **示例**:`Content-Encoding: gzip`

  • 用途:帮助客户端理解如何解码响应体数据。

  1. **Vary**
  • **作用**:告诉缓存服务器如何根据请求头的某些属性来选择不同的缓存版本。

  • **示例**:`Vary: Accept-Encoding`

  • 用途:确保客户端根据不同的请求头(如 `Accept-Encoding`)使用不同的缓存版本。

  1. **WWW-Authenticate**
  • **作用**:在需要认证的请求中,指定认证方法和域。

  • **示例**:`WWW-Authenticate: Basic realm="Example"`

  • 用途:用于响应 401 未授权状态码,提示客户端如何进行认证。

  1. **X-Content-Type-Options**
  • **作用**:防止浏览器 MIME 类型嗅探,确保响应按指定的 `Content-Type` 进行解析。

  • **示例**:`X-Content-Type-Options: nosniff`

  • 用途:增强安全性,防止某些类型的攻击(如 MIME 类型注入)。

  1. **Strict-Transport-Security (HSTS)**
  • **作用**:告知浏览器仅通过 HTTPS 协议与服务器通信。

  • **示例**:`Strict-Transport-Security: max-age=31536000; includeSubDomains`

  • 用途:提高 HTTPS 安全性,防止中间人攻击。

  1. **Content-Disposition**
  • **作用**:指示浏览器如何处理响应内容,通常用于下载文件。

  • **示例**:`Content-Disposition: attachment; filename="example.pdf"`

  • 用途:告诉客户端以附件形式下载文件。

这些响应头属性共同帮助控制如何缓存内容、传输数据以及保障通信的安全性。

了解 **HTTP Response Header** 中的 `Content-Type` 类型,常见的 `Content-Type` 是指服务器响应返回的内容类型。这个标头(header)告诉客户端(浏览器或其他用户代理)如何解析响应的内容。

`Content-Type` 类型有很多种,以下是一些常见的类型和子类型:

1. **文本数据类型**

  • **`text/plain`**

纯文本格式,无格式,适合显示简单的文本信息。

  • **`text/html`**

HTML 格式,用于网页内容的返回。

  • **`text/css`**

CSS 样式表,用于样式化网页。

  • **`text/javascript`** 或 **`application/javascript`**

JavaScript 脚本文件。

  • **`text/xml`**

XML 格式的文本内容。

2. **HTML 数据类型**

  • **`text/html`**

HTML 格式文档,浏览器会根据该类型解析 HTML 内容并渲染页面。

3. **图像类型**

  • **`image/jpeg`**

JPEG 图片格式。

  • **`image/png`**

PNG 图片格式。

  • **`image/gif`**

GIF 图片格式。

  • **`image/webp`**

WebP 图片格式,提供更高效的压缩。

  • **`image/svg+xml`**

SVG 矢量图格式,用于描述二维矢量图形。

4. **音频/视频类型**

  • **`audio/mpeg`**

MP3 音频格式。

  • **`audio/wav`**

WAV 音频格式。

  • **`audio/ogg`**

Ogg 音频格式。

  • **`video/mp4`**

MP4 视频格式。

  • **`video/webm`**

WebM 视频格式。

  • **`video/ogg`**

Ogg 视频格式。

5. **应用程序数据类型**

  • **`application/json`**

JSON 格式的数据,广泛用于前后端数据交换。

  • **`application/xml`**

XML 格式的应用数据。

  • **`application/javascript`**

JavaScript 文件。

  • **`application/xhtml+xml`**

XHTML 格式。

  • **`application/ld+json`**

JSON-LD 格式,通常用于结构化数据。

  • **`application/octet-stream`**

二进制流数据,通常用于文件下载。

  • **`application/pdf`**

PDF 文档格式。

  • **`application/zip`**

ZIP 压缩文件格式。

  • **`application/msword`**

Microsoft Word 文档格式。

  • **`application/vnd.ms-excel`**

Excel 文件格式。

  • **`application/vnd.openxmlformats-officedocument.wordprocessingml.document`**

DOCX 格式的 Microsoft Word 文件。

  • **`application/x-www-form-urlencoded`**

表单数据提交格式,通常用于 POST 请求。

  • **`application/json-patch+json`**

用于 JSON Patch 请求的 JSON 格式。

6. **多部分数据类型**

  • **`multipart/form-data`**

用于表单数据提交,支持文件上传。

  • **`multipart/byteranges`**

用于服务器返回文件的一部分(如文件分段下载)。

7. **字体文件类型**

  • **`font/woff`**

Web Open Font Format 字体。

  • **`font/woff2`**

Web Open Font Format 2 字体,较新的版本,支持更高效的字体压缩。

  • **`font/otf`**

OpenType 字体。

  • **`font/ttf`**

TrueType 字体。

8. **其他常见类型**

  • **`application/x-shockwave-flash`**

Flash 内容(较少见,Flash 已被逐步淘汰)。

  • **`application/xml`**

XML 格式,常用于数据交换或请求和响应的格式。

  • **`application/x-www-form-urlencoded`**

用于表单数据提交。

  • **`application/x-rtf`**

富文本格式文件。

总结

`Content-Type` 可以细分为很多不同的类型和子类型,涵盖了文本、图像、音频、视频、文件、JSON、XML 等多种格式。不同的 `Content-Type` 类型指示服务器响应内容的格式,帮助客户端(如浏览器)正确解析和呈现这些内容。

相关推荐
xiao-xiang4 分钟前
jenkins-通过api获取所有job及最新build信息
前端·servlet·jenkins
C语言魔术师21 分钟前
【小游戏篇】三子棋游戏
前端·算法·游戏
匹马夕阳2 小时前
Vue 3中导航守卫(Navigation Guard)结合Axios实现token认证机制
前端·javascript·vue.js
你熬夜了吗?2 小时前
日历热力图,月度数据可视化图表(日活跃图、格子图)vue组件
前端·vue.js·信息可视化
桂月二二8 小时前
探索前端开发中的 Web Vitals —— 提升用户体验的关键技术
前端·ux
幽兰的天空9 小时前
介绍 HTTP 请求如何实现跨域
网络·网络协议·http
lisenustc9 小时前
HTTP post请求工具类
网络·网络协议·http
心平气和️9 小时前
HTTP 配置与应用(不同网段)
网络·网络协议·计算机网络·http
心平气和️9 小时前
HTTP 配置与应用(局域网)
网络·计算机网络·http·智能路由器
喜-喜9 小时前
C# HTTP/HTTPS 请求测试小工具
开发语言·http·c#