可能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