GET和POST区别

来源:互联网 发布:手风琴js 懒人之家 编辑:程序博客网 时间:2024/06/11 09:41

GETPOST区别如下:

1,生成方式

get方式有四种:1)直接在URL地址栏中输入URL2)网页中的超链接。3formmethodget4formmethod为空时,默认是get提交。

post只知道有一种:formmethod属性为post

2、数据传送方式

get方式:表单数据存放在URL地址后面。所有get方式提交时HTTP中没有消息体。

post方式:表单数据存放在HTTP协议的消息体中以实体的方式传送到服务器。

3、服务器获取数据方式

GET方式:服务器采用request.QueryString来获取变量的值。

POST方式:服务器采用request.Form来获取数据。

4、传送的数据量

GET方式:数据量长度有限制,一般不超过2kb。因为是参数传递,且在地址栏中,故数据量有限制。

POST方式:适合大规模的数据传送。因为是以实体的方式传送的。

5、安全性

GET方式:安全性差。因为是直接将数据显示在地址栏中,浏览器有缓冲,可记录用户信息。所以安全性低。

POST方式:安全性高。因为post方式提交数据时是采用的HTTP post机制,是将表单中的字段与值放置在HTTP HEADER内一起传送到ACTION所指的URL中,用户是看不见的。

6、在用户刷新时

GET方式:不会有任何提示、

POST方式:会弹出提示框,问用户是否重新提交

 

POST和GET的差别其实是很大的。语义上,GET是获取指定URL上的资源,是读操作,重要的一点是不论对某个资源GET多少次,它的状态是不会改变的,在这个意义上,我们说GET是安全的(不是被密码学或者数据保护意义上的安全)。因为GET是安全的,所以GET返回的内容可以被浏览器,Cache服务器缓存起来(其中还有很多细节,但不影响这里的讨论)。

而POST的语意是对指定资源“追加/添加”数据,所以是不安全的,每次提交的POST,参与的代码都会认为这个操作会修改操作对象资源的状态,于是,浏览器在你按下F5的时候会跳出确认框,缓存服务器不会缓存POST请求返回内容。

 

 

0 0
原创粉丝点击