码迷,mamicode.com
首页 > Web开发 > 详细

细说HTTP中POST与GET的区别与联系

时间:2016-08-01 23:09:20      阅读:339      评论:0      收藏:0      [点我收藏+]

标签:http

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。

主要谈谈GET和POST。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

首先介绍一下GET和POST的概念:

GET用于信息获取,而且应该是安全的和幂等的。

POST表示可能修改变服务器上的资源的请求。

区别与联系:

1、GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII;

2、get传送的数据量较小,这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。。post传送的数据量较大,所以在上传文件只能使用Post,一般被默认为不受限制,起限制作用的是服务器的处理程序的处理能力;

3、get安全性非常低(因为用户可以通过URL看到),post安全性较高(其所有操作对用户来说都是不可见的)。但是执行效率却比post方法好; 

4、GET是Form的默认方法;

5、GET方式提交来的数据在服务器端用Request.QueryString()来获取,用Post方式提交的数据用Request.Form()来获取。;

   6、GET:查询字符串显示在地址栏的URL中,可见;POST:查询字符串不会显示在地址栏中,不可见;

   7、GET请求能够被缓存,GET请求会保存在浏览器的浏览记录中,以GET请求的URL能够保存为浏览器书签;POST请求不能被缓存下来,POST请求不会保存在浏览器浏览记录中,以POST请求的URL无法保存为浏览器书签。


本文出自 “七月朔风” 博客,请务必保留此出处http://luminous.blog.51cto.com/10797288/1833175

细说HTTP中POST与GET的区别与联系

标签:http

原文地址:http://luminous.blog.51cto.com/10797288/1833175

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!