我们知道HTTP请求的方式有两种,一种是GET,一种是POST.
GET的请求参数是通过URL传递的.浏览器会对传递的参数做限制.
POST理论上是对提交的数据大小不做限制.
那么常用浏览器对GET请求的参数大小的限制到底是多少呢?
可以很容易的通过HTML测试实现.
测试环境 服务器:tomcat6.5
浏览器:chrome18,IE7,Firefox12,Safari5,Opera11.5
测试页面脚本:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<a href="#">test</a>
<script type="text/javascript">
var a=document.getElementsByTagName('a')[0];
function test(event){
var url='b.html?';
for(var i=0;i<1024*3;i++){
url+='k';
}
location.href=url;
}
a.οnclick=test;
</script>
</body>
</html>
测试结果:
数据量 结果
2K chrome18,IE7,Firefox12,Safari5,Opera11.5 全部OK
3K chrome18,Firefox12,Safari5,Opera11.5 OK, IE7 失败
7K chrome18,Firefox12,Safari5,Opera11.5 OK, IE7 失败
8K chrome18,IE7,Firefox12,Safari5,Opera11.5 全部失败(HTTP 400)