http header 中的 space 字符是否应该使用 %20 或 +
Should a space character in an http header use %20 or +
我在这里和 google 进行了搜索,但未能找到问题的答案。
在 http header 中,space 应该编码为 %20 还是 + 还是可接受的?
特别是在我的情况下,S3 请求 Header x-amz-copy-source
被描述为“源存储桶名称 + object 名称。{bucket}/{obj}”。
我正在使用两个 S3 提供商(Amazon 和 Dreamhost)测试一些代码。 Amazon 预计 + 和 Dreamhost %20。
我想知道两者是否正确(因此我的代码需要适当地处理)或者其中一个是否违反标准(因此它们将来有可能改变)?
根据,似乎只有 Dreamhost 符合 RFC。
HTTP header 字段可以包含 space 个字符;不需要转义它们(除非它们出现在开头或结尾)。
因此,如果使用任何类型的转义会怎样取决于实际 HTTP header 字段(通常不是 HTTP)的定义。
我在这里和 google 进行了搜索,但未能找到问题的答案。 在 http header 中,space 应该编码为 %20 还是 + 还是可接受的?
特别是在我的情况下,S3 请求 Header x-amz-copy-source
被描述为“源存储桶名称 + object 名称。{bucket}/{obj}”。
我正在使用两个 S3 提供商(Amazon 和 Dreamhost)测试一些代码。 Amazon 预计 + 和 Dreamhost %20。
我想知道两者是否正确(因此我的代码需要适当地处理)或者其中一个是否违反标准(因此它们将来有可能改变)?
根据
HTTP header 字段可以包含 space 个字符;不需要转义它们(除非它们出现在开头或结尾)。
因此,如果使用任何类型的转义会怎样取决于实际 HTTP header 字段(通常不是 HTTP)的定义。