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` 类型指示服务器响应内容的格式,帮助客户端(如浏览器)正确解析和呈现这些内容。

相关推荐
Qlittleboy2 分钟前
vue的elementUI 给输入框绑定enter事件失效
前端·vue.js·elementui
Violet_Stray16 分钟前
用bootstrap搭建侧边栏
前端·bootstrap·html
软件聚导航18 分钟前
对uniApp 组件 picker-view 的二次封装,实现日期,时间、自定义数据滚动选择,容易扩展
前端·javascript·html
G丶AEOM30 分钟前
TCP三次握手,四次挥手
网络·网络协议·tcp/ip
码农丁丁43 分钟前
[前端]mac安装nvm(node.js)多版本管理
前端·macos·node.js·nvm
正小安1 小时前
Vite 系列课程|1课程道路,2什么是构建工具
前端·vite
阿髙1 小时前
ios的safari下载文件 文件名乱码
前端·axios·safari·下载
LaiJying2 小时前
图书馆管理系统(四)基于jquery、ajax--完结篇
前端·ajax·jquery
风清云淡_A2 小时前
【原生js案例】ajax的简易封装实现后端数据交互
前端·javascript
Jack_Kuo2 小时前
【docker】如何打包前端并运行
前端·docker·容器