如何解决Ajax访问不断变化的session的值不一致以及HTTP协议中的

2019-09-14 07:05:18于海丽

对于ASP程序,Request对象处理每个表单域时存在100K的数据长度限制。但如果使用Request.BinaryRead则没有这个限制。 

由这个延伸出去,对于IIS 6.0,微软出于安全考虑,加大了限制。

我们还需要注意:

 1).IIS 6.0默认ASP POST数据量最大为200KB,每个表单域限制是100KB。     

2).IIS 6.0默认上传文件的最大大小是4MB。     

3).IIS 6.0默认最大请求头是16KB。   

IIS 6.0之前没有这些限制。

所以上面的80K,100K可能只是默认值而已(注:关于IIS4和IIS5的参数,我还没有确认),但肯定是可以自己设置的。由于每个版本的IIS 对这些参数的默认值都不一样,具体请参考相关的IIS配置文档。   

3.在ASP中,服务端获取GET请求参数用Request.QueryString,获取POST请求参数用Request.Form。

在JSP 中,用request.getParameter("XXXX")来获取,虽然jsp中也有request.getQueryString()方法, 但使用起来比较麻烦,比如:传一个test.jsp?name=hyddd&password=hyddd,用request.getQueryString()得到的是:name=hyddd&password=hyddd。在PHP中,可以 用$_GET和$_POST分别获取GET和POST中的数据,而$_REQUEST则可以获取GET和POST两种请求中的数据。值得注意的是,JSP 中使用request和PHP中使用$_REQUEST都会有隐患,这个下次再写个文章总结。   

4.POST的安全性要比GET的安全性高。

注意:这里所说的安全性和上面GET提到的“安全”不是同个概念。上面“安全”的含义仅仅是不作数据修 改,而这里安全的含义是真正的Security的含义,比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为(1)登录页面有可能被浏览器 缓存,(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击。  

总结一下,Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为"GET",实质上,GET和POST只是发送机制不同,并不是一个取一个发!

以上是小编跟大家分享的Ajax访问不断变化的session的值不一致解决方法以及HTTP协议中的GET、POST的区别,希望对大家有用,欲了解更多有关ajax session 不一致问题,请持续关注本站。