URL可以在GET请求中包含原始二进制数据吗?
是否可以创建一个URL,www.example.com/**binary-data**,其中www.example.com/是普通的ASCII字符,**binary-data**是任意的原始字节值,例如0x10。
我不会对二进制数据进行编码,而是创建一个字符串,例如,C中的char*,它包含ASCII字符和二进制数据。
还是请求后是将原始二进制数据作为主体的一部分发送的唯一方法?
发布于 2017-10-26 08:57:45
不是,但可以转义非URI字符。
发布于 2017-10-26 16:41:13
不是的。在HTTP请求中传输的URL是百分比编码的,UTF-8编码的Unicode文本(结果是"ASCII“字符串)。
同样,它是Unicode文本。
Unicode编码不会产生任意二进制数据。对于某些任意二进制数据,没有等效的文本。
从“原始”开始,服务器和请求当然会同意使用像Base64这样的方案将任意二进制数据转换为Unicode文本。不过,在这一点上,您最好在主体中使用HTTP请求,尽管就HTTP而言,主体是原始二进制数据,HTTP头可以指示标准格式。这类请求包括员额和提交。
URL的长度也有实际限制。
https://stackoverflow.com/questions/46946123
复制相似问题