秒懂百科网

位置:首页 > 经验 > 

doGet和doPost区别

经验1.14W

doGet和doPost区别

1、传输速度上的差别:doget传输速度高于dopost传输速度。

2、传输数据上的差别:doget1、3k多余的传输数据部分会被截取,dopost传输数据不会被截取。

3、安全性上的差别:通过doGet方式提交的数据安全性低,通过doGet方式提交的数据安全性高。

doGet是处理客户端发来的Get请求,doPost是处理客户端发来的Post请求,它们的区别可以从以下几个方面来说明:

1、客户端(一般指浏览器)生成的方式

get:form中method属性为get时;或者直接在URL地址栏中输入URL,需要传递参数时,直接在URL后面拼接?name=张三&age=18这样的查询参数字符串;

post:form中method属性为post。

2、客户端数据传送方式

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

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

3、服务器获取数据方式

get:服务器采用Servlet中的doGet来获取变量的值;

post:服务器采用Servlet中的doPost来获取数据。

4、传输的数据量

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

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

5、安全性

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

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

标签:doGet doPost