Http中post和get的区别

来源:互联网 发布:vip域名值钱吗 编辑:程序博客网 时间:2024/06/07 20:14

Http中post和get的区别

区别一:form表单提交数据时,数据的位置不同

   使用get,form数据集被附加到form元素的action属性所指定的URL后面;

   使用post,form数据集被包装在请求的body中并被发送。

    

区别二:安全性不同

   

   如果用get提交一个验证用户名和密码的form,一般认为是不安全的,因为用户名和密码将出现在URL上,进而出现在浏览器的历史    记录中。

   显然,在对安全性有要求的情况下,应该使用post 


   区别三:编码不同  

 get只能向服务器发送ASCII字符,而post则可以发送整个ISO 10646中的字符。

   get和post对应的enctype属性有区别。enctype有两个值,默认值为application/x-www-form-urlencoded(在发送前编码所有字符)

   另一个是multipart/form-data(用于文件上传)只能用于post。

    区别四:提交数据的长度不同

   IE将请求的URL长度限制为2083个字符,从而限制了get提交的数据长度,如果URL超出了这个限制,提交form时IE不会有任何反映。
   

     区别五:缓存

    由于一个get得到的结果直接对应到一个URL,所以get的结果页面有可能被浏览器缓存,而post一般不能。

   Get是用来从服务器上获得数据,而post是用来向服务器上传递数据
 

     post和get容易忽视的一点差别:

    就是当method为get时,action属性中URL后面的参数是忽视的。