可能URL中包含GET中的任意二进制数据

一个URL可能包含GET请求中的原始二进制数据?

是否可以创建一个URL www.example.com/**binary-data** ,其中www.example.com/是普通的ASCII字符, **binary-data**是任意的原始字节值,例如, 0x10

我不会编码二进制数据,但只需创建一个字符串,例如C中的char* ,它包含ASCII字符和二进制数据。

或者是POST请求是将原始二进制数据作为主体的一部分发送的唯一方法?


不,但可以百分比转义非URI字符。


不可以。在HTTP GET请求中传输的URL是百分比编码的,UTF-8编码的Unicode文本(产生“ASCII”字符串)。

再次,它是Unicode文本。

Unicode编码不会产生任意的二进制数据。 对于某些任意的二进制数据没有等价的文本。

摆脱“原始”,服务器和请求当然可以同意使用诸如Base64的方案来将任意二进制数据转换为Unicode文本。 尽管如此,你也可以使用带有主体的HTTP请求,尽管就HTTP而言,主体是原始的二进制数据,但HTTP头可以指示标准格式。 这些请求包括POST和PUT。

URL的长度也有实际的限制。

链接地址: http://www.djcxy.com/p/42177.html

上一篇: May a URL contain arbitrary binary data in a GET

下一篇: HTTP GET request with many items in query string