http 1.1 协议中对url的长度是不受限制的
虽然协议中未明确对url进行长度限制,但在真正实现中,url的长度还是受到限制的,一是服务器端的限制,二就是浏览器端的限制。
-
服务器端
在服务器端,主要是apache,jboss和nginx等,由于现在项目中主要用到nginx,所以强调下它的设置参数:large_client_header_buffers该参数对nginx服务器接受客户端请求的头信息时所分配的最大缓冲区的大小做了限制,也就是nginx服务器一次接受一个客户端请求可就收的最大头信息大小。这个头不仅包含 request-line,还包括通用信息头、请求头域、响应头域的长度总和。这也相当程度的限制了url的长度。
nginx服务器默认的限制是4K或者8K,这是根据服务器的硬件配置有关的,一般为内存一页的大小,目前大部分为4K,即4096字节。
-
浏览器端
浏览器的种类繁多,并且对URL的长度限制是有所差异的,具体如下: