get请求中的参数可以有多长?

时间:2011-06-01 17:46:33

标签: http url rest get web-standards

我目前正在编写一个通过get参数传递数据的API,所以我想知道URL或参数值的总长度是在最佳实践中还是通过协议限制。

3 个答案:

答案 0 :(得分:13)

http://www.boutell.com/newfaq/misc/urllength.html

基本上,2K是您在跨浏览器方面可以信赖的最多,但如果您放弃对IE 8及以下版本的支持,您可以使用64K。

虽然我觉得我需要质疑你是否需要知道这一点,但任何超过100个字符最好通过POST请求而不是GET来处理。

答案 1 :(得分:5)

只需在第{3.2.1节:

中添加HTTP 1.1 RFC中的规范参考....
  

HTTP协议没有对长度进行任何先验限制      一个URI。服务器必须能够处理它们的任何资源的URI      服务,并且应该能够处理无限长度的URI      提供可以生成此类URI的基于GET的表单。一台服务器      如果URI更长,应该返回414(Request-URI Too Long)状态      服务器可以处理(见10.4.15节)。

Note: Servers ought to be cautious about depending on URI lengths
  above 255 bytes, because some older client or proxy
  implementations might not properly support these lengths.

答案 2 :(得分:0)

没有官方限制,所以它受到不同浏览器的支配。

相关问题