HTTP 自定义报文头

自定专用消息头可通过X-前缀来添加;

但是这种用法被IETF在2012年6月发布的 RFC5548 中明确弃用,原因是其会在非标准字段成为标准时造成不便;其他的消息头在 IANA 注册表中列出, 其原始内容在 RFC 4229 中定义。 此外,IANA 还维护着被提议的新HTTP 消息头注册表.

虽然已经被明确弃用,但是在平时还是能够看到大量的页面依旧在 Response Header 中会 附带 以 x- 开头的内容。
在这里插入图片描述
所以了解一些自定义报文头的东西还是很有必要的,下面是来自 keycdn 上的一篇文章,原文传送门


自定义HTTP headers 通常意味着提供一些对 web 开发者有用的附加信息,或者是方便故障排除(troubleshooting)。这些 headers 通常以 X- 开头,我们会在之后进一步讨论其命名规范。这篇文章可以帮助你更好的理解 自定义 HTTP header 的实质,以及为什么他们能够发挥作用和怎样去创建他们。

为什么要使用 自定义 HTTP Headers?

如上所述,自定义报文头对故障排除和传递附加信息特别有用,甚至能在服务端实现特定的逻辑。例如, KeyCDN 使用 X-Cache 来告诉用户请求的某个资源是来自 edge server(代理服务器?)还是来自源服务器。
在这里插入图片描述
如果资源是来自缓存自定义报文头会返回一个 HIT ,如果来自源服务器则会返回MISS。另外一个使用自定义 HTTP header 的例子是 X-Pull 。你可以使用这个自定义头做很多事,比如,限制源服务器上的带宽、限制 CDN 流量、在源服务器上创建自定义逻辑,等等。
自定义 headers有很多能够经常被用到的作用。即使你没有使用 CDN 亦或者没有在你的源服务器人为指定任何自定义 HTTP headers ,你可能仍然会发送带有自定义header 的响应。比如说,WorldPress 会发送以下 headers(虽然你可以手动禁止)。

X-Powered-By: PHP/5.2.17
X-Pingback: https://example.com/xmlrpc.php

命名规范

提到 HTTP 的自定义headers,这里面有一些来来往往的故事。最初,推荐自定义headers 以 X- 开头,这样用户就可以知道某个 header 是自定义的而不是标准的。然而,根据 RFC 5548 ,这种做法被弃用了。
虽然被弃用了,但是并不意味着不再支持。实际上,仍然还有很多场景用到 X- 。弃用的原因是以后某个特定的自定义 HTTP header 成为标准之后,浏览器需要支持两种命名,要不然开发者就需要更新之前命名的所有自定义header。现在推荐使用不含 X- 标记的名字来命名自定义 headers 。

设置自定义 HTTP Headers

如果你想在你的服务器 HTTP response 报文头中包含自定义的 HTTP header,流程将会很简单。我们将在接下来告诉你在 ApacheNginx 上配置自定义header所需要配置。

Apache

对于 Apache 用户来说,把下面的片段添加进 .htaccess 文件。将 Custom-Header-NameCustom Header Value 替换为想要的自定义header 名字和值就可以了。

Header set Custom-Header-Name "Custom Header Value"
Nginx

对于 Nginx 用户来说,将下面这个片段添加进 configuration 文件。

add_header Custom-Header-Name "Custom Header Value"

总结

自定义 HTTP headers 在某些场景下非常有用。虽然他设计的主要目的是为了提供附加信息,但是你可以使用它做更多的事。有一点值得注意的是避免将它用在改变 HTTP 原生方法的场景中。除此之外,可以尽情尝试不同的用法。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对 CAN 协议的自定义报文生成工具通常需要支持以下功能: 1. 支持 CAN 协议:自定义报文生成工具需要支持 CAN 协议,包括 CAN 2.0A 和 CAN 2.0B 两种协议。CAN 2.0A 和 CAN 2.0B 的区别在于标识符的长度不同,CAN 2.0A 的标识符长度为 11 位,CAN 2.0B 的标识符长度为 29 位。 2. 支持自定义报文自定义报文生成工具需要支持自定义报文,可以自由设置 CAN 报文的标识符、数据长度、数据内容、帧类型等参数。 3. 支持发送和接收:自定义报文生成工具需要支持 CAN 报文的发送和接收,可以通过连接 CAN 总线或者 CAN 接口设备进行数据的发送和接收。 4. 支持多种数据格式:自定义报文生成工具需要支持多种数据格式,包括 ASCII、HEX、BIN 等格式,可以根据需要选择合适的数据格式。 下面是一些常见的 CAN 协议自定义报文生成工具: 1. CANalyzer:CANalyzer 是一款常用的 CAN 总线分析工具,可以进行 CAN 报文的发送和接收,支持自定义报文,可以设置报文的标识符、数据长度、数据内容等参数。 2. CANoe:CANoe 是一款广泛应用于汽车电子领域的仿真工具,可以模拟各种汽车电子控制单元的行为,支持 CAN 协议,可以进行 CAN 报文的发送和接收,支持自定义报文。 3. PCAN-View:PCAN-View 是一款免费的 CAN 总线分析工具,可以进行 CAN 报文的发送和接收,支持自定义报文,可以设置报文的标识符、数据长度、数据内容等参数。 4. Vector CANoe:Vector CANoe 是一款常用的 CAN 总线分析和仿真工具,可以进行 CAN 报文的发送和接收,支持自定义报文,可以设置报文的标识符、数据长度、数据内容等参数。 以上是一些常见的 CAN 协议自定义报文生成工具,每一款工具都有其独特的功能和特点,可以根据需要选择适合自己的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值