关于URL最大长度限制的相关资料查证
《PHP实例:关于URL最大长度限制的相关资料查证》要点: PHP实例在开发调试支付宝接口时,突然发现支付宝接口的URL很长,远远大于之前自己印象中的255个字符.赶紧搜索查证了一番,理解如下: PHP实例URL不能大于255bytes的说法确实存在,在RFC2616中提到:
代码如下:
The HTTP protocol does not place any a priori limit on the length of a URI. Servers MUST be able to handle the URI of any resource they serve,and SHOULD be able to handle URIs of unbounded length if they provide GET-based forms that could generate such URIs. A server SHOULD return 414 (Request-URI Too Long) status if a URI is longer than the server can handle (see section 10.4.15). PHP实例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. PHP实例从上一点也可以看出,255bytes的说法也是为了兼容性考虑.实际上现代浏览器的限制如下:
代码如下:
Microsoft Internet Explorer (Browser) Microsoft states that the maximum length of a URL in Internet Explorer is 2,083 characters,with no more than 2,048 characters in the path portion of the URL. In my tests,attempts to use URLs longer than this produced a clear error message in Internet Explorer. PHP实例Firefox (Browser) PHP实例Safari (Browser) PHP实例Opera (Browser) PHP实例Apache (Server) PHP实例Microsoft Internet Information Server PHP实例Perl HTTP::Daemon (Server) PHP实例另外值得注意的是,有文章提到作为<a>的href属性时,URL不能超过1024bytes,这点没有详细查证 PHP实例综上,URL还是不适合太长,不是不得已,尽量不要通过GET方式提交大量参数,可以考虑用POST方式(大约在2M左右,应该是和服务器及设定有关).另外这么长的URL在拜访和收藏(有文章提到有些浏览器在收藏超长地址时也是会出现问题)时也是相当不友好的.当然,之前数据库字段设置时还是作为255bytes处理,现在可能要考虑扩充一下了. 编程之家培训学院每天发布《PHP实例:关于URL最大长度限制的相关资料查证》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |