博客
关于我
记录一下几个HTTP HEADER字段
阅读量:328 次
发布时间:2019-03-03

本文共 2171 字,大约阅读时间需要 7 分钟。

记录几个HTTP请求-响应头

请求头

HTTP请求中的请求头(Request Headers)包含客户端向服务器发送的各种信息,用于指导服务器如何处理请求。常见的请求头包括:

Accept

告知服务器客户端可以处理的内容类型,使用MIME类型表示。例如:

Accept: */*

表示客户端可以处理任意类型的MIME类型。

Accept-Encoding

通知服务器客户端能够理解的内容编码方式,通常用于内容协商。例如:

Accept-Encoding: gzip, deflate

服务器会选择客户端支持的编码方式进行响应。

Accept-Language

告知服务器客户端可以理解的自然语言及优先区域方言。例如:

Accept-Language: en-US, en

用于内容协商,服务器可根据语言选择合适的资源。

Connection

决定当前TCP连接是否持久。值keep-alive表示连接保持不变,适用于长时间传输。例如:

Connection: keep-alive

Host

指定请求服务器的域名或IP地址和端口号。默认端口为HTTP的80和HTTPS的443。例如:

Host: developer.mozilla.org

Referer

记录当前请求页面的来源页面地址,用于追踪访问路径。例如:

Referer: https://www.example.com/page.html

服务器可利用Referer信息进行日志统计、缓存优化等。

TE

指定传输编码类型及优先级,用于客户端与服务器协商传输方式。例如:

TE: gzip, deflate

User-Agent

包含客户端的软件信息,用于服务器识别客户端类型。例如:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4452.72 Safari/537.36

响应头

HTTP响应中的响应头(Response Headers)包含服务器向客户端发送的信息,通常用于控制缓存、内容协商和协议处理。常见的响应头包括:

Cache-Control

控制缓存机制,指定缓存策略。常见值包括:

  • public: 响应可被缓存。
  • private: 响应只供单一客户端缓存。
  • no-cache: 响应不可缓存。
  • no-store: 响应内容不可缓存。

Expires

指定响应的有效期限,表示在该日期/时间之后响应将过期。例如:

Expires: Wed, 10 Jul 2024 00:00:00 GMT

Server

包含处理请求的服务器软件信息。例如:

Server: Apache/2.4.1 (Unix)

Strict-Transport-Security

强制使用HTTPS协议,防止混合内容攻击。例如:

Strict-Transport-Security: max-age=63072000

Vary

决定了哪些请求头信息会影响响应内容协商。例如:

Vary: User-Agent

用于防止客户端缓存旧版本的资源。

Via

追踪消息传输路径,可用于反向代理统计。例如:

Via: http/1.1 ProxyPlusCleanToPlus

X-Content-Type-Options

指示客户端是否遵循MIME类型指定。例如:

X-Content-Type-Options: nosniff

X-Frame-Options

防止点击劫持攻击,控制页面嵌入。例如:

X-Frame-Options: DENY

X-ContentSecurityPolicy

保护页面内容不被嵌入或加载。例如:

X-ContentSecurityPolicy: frame-allow none

Access-Control-Allow-Origin

指定哪些域名的资源可以共享。例如:

Access-Control-Allow-Origin: *

表示允许所有域名访问资源。

Access-Control-Allow-Credentials

允许客户端传递凭证信息。例如:

Access-Control-Allow-Credentials: true

Access-Control-Expose-Headers

列出可以暴露给客户端的响应头。例如:

Access-Control-Expose-Headers: Cache-Control, Content-Length

X-CSRF-Token

防止跨站请求伪造攻击。例如:

X-CSRF-Token: abc123

其他注意事项

  • Referer 不会在以下情况下发送:

    • 来源页面使用filedata URI。
    • 客户端使用非安全协议访问,而来源页面使用安全协议。
    • 直接输入URL或通过浏览器书签访问。
    • 使用Location.hrefLocation.replace()
    • 使用HTML5的noreferrer属性。
  • Referer 的作用:

    • 统计访问来源。
    • 防盗链。
    • 防止恶意请求。

HTTP请求和响应头是网络通信的基础,理解它们对于开发和优化网络应用至关重要。

转载地址:http://blxm.baihongyu.com/

你可能感兴趣的文章
MySQL里为什么会建议不要使用SELECT *?
查看>>
MySQL里的那些日志们
查看>>
MySQL锁
查看>>
MySQL锁与脏读、不可重复读、幻读详解
查看>>
MySQL锁机制
查看>>
mysql锁机制,主从复制
查看>>
Mysql锁机制,行锁表锁
查看>>
MySQL锁表问题排查
查看>>
Mysql锁(1):锁概述和全局锁的介绍
查看>>
Mysql锁(2):表级锁
查看>>
MySQL锁,锁的到底是什么?
查看>>
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
查看>>
Mysql错误2003 -Can't connect toMySQL server on 'localhost'(10061)解决办法
查看>>
MySQL错误提示mysql Statement violates GTID consistency
查看>>
mysql错误:This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de
查看>>
mysql长事务
查看>>
mysql问题记录
查看>>
mysql间隙锁
查看>>
MySQL集群解决方案(1):MySQL数据库的集群方案
查看>>
MySQL集群解决方案(2):主从复制架构
查看>>