http 自定义的Header字段应遵守一些惯例和最佳实践
在HTTP请求中,自定义的Header字段没有严格的格式要求,但有一些惯例和最佳实践需要遵循,以确保兼容性和可读性:
-
字段名称的格式:
-
字段名称应是大小写不敏感的:HTTP标准规定Header字段名称是不区分大小写的,因此
X-Custom-Header
和x-custom-header
是等效的。 -
使用中划线(Hyphen)作为分隔符:字段名称的单词之间通常使用中划线(
-
)分隔,例如X-Custom-Header
。 -
避免使用下划线(Underscore):虽然技术上可以使用下划线(
_
),但它在某些情况下可能会引起兼容性问题,尤其是在某些代理服务器或旧版服务器上。推荐使用中划线。
-
字段名称应是大小写不敏感的:HTTP标准规定Header字段名称是不区分大小写的,因此
-
字段值的格式:
- 字段值通常是字符串,可以包含任何字符,但最好遵循通常的编码格式。例如,二进制数据或特殊字符应当进行Base64编码或URL编码。
- 避免使用未转义的控制字符(如换行符或回车符),它们会中断Header的格式。
-
推荐的命名规则:
-
过去自定义Header通常以
X-
开头,例如X-Custom-Header
。不过,IETF(互联网工程任务组)后来不再建议这种命名规则,建议直接使用具备自解释性的名称。例如,使用Custom-Header
代替X-Custom-Header
。
-
过去自定义Header通常以
-
长度限制:
- 虽然HTTP协议没有对Header字段的长度设置明确的限制,但不同的服务器、代理和浏览器可能会对Header的大小设置上限,通常是8KB到16KB之间。对于自定义Header字段,最好确保其内容不会过长。
-
避免与标准Header冲突:
-
不要使用已经定义好的标准Header字段名,例如
Content-Type
、Authorization
、Accept
等,以避免意外覆盖或冲突。
-
不要使用已经定义好的标准Header字段名,例如
- 多个值的处理:
-
如果自定义Header中需要传递多个值,通常可以用逗号分隔,如:
Custom-Header: value1, value2, value3
。
总结来说,自定义HTTP Header字段在格式上并没有太严格的要求,但遵循一些命名惯例、字符使用规则以及长度限制,有助于提高兼容性和避免潜在的问题。
热门日志
分类
- Django(4)
- ssdb(1)
- Mac(7)
- C(1)
- memcache(1)
- Python(32)
- Vim(8)
- sed(2)
- ansible(3)
- awk(4)
- shell(3)
- about(1)
- git(9)
- bat(4)
- svn(0)
- docker(1)
- Tornado(1)
- go(2)
- 架构(18)
- Vue(1)
- game(2)
- Html(6)
- Java(8)
- Mysql(37)
- Ajax(2)
- Jsp(1)
- Struts(8)
- Linux(72)
- JavaScript(39)
- Staruml(0)
- Mouth(1)
- Php(102)
- Windows(8)
- Message(48)
- Lua(10)
- Compute(1)
- Redis(7)
- Nginx(12)
- Jquery(1)
- Apache(1)
- cocos2d-x(8)