Get和Post的区别(HTTP的原理)

容器调用Servlet的servlce()方法时,如果是GET请求就会调用doGet(),如果是POST请求就会调用doPost()。

GET:幂等性,请求参数会浏览器的地址栏中显示,所以不安全。

POST:安全级别比GET高,Web容器会通过request对象的方法来传递数据。如

request.getParameter()指定请求参数名称来取得对应的值。
request.getParameterValues()如果窗体上有可复选的元件,如复选框,列表等,则同一个请求参数名称会有多个值。


请求编码处理:
GET:若浏览器使用UTF-8处理字符,Web容器默认使用ISO-8859-1编码,则正确的处理编码的方式为:

String name = request.getParameter("name");
String name = new String(name.getByte("ISO-8859-1"),"utf-8");

POST:若浏览器以UTF-8来发送请求,则接受时也要使用UTF-8编码字符串,则可以使用在取得任何请求值之“前",执行以下语句:

request.setCharacterEncoding("UTF-8");
哪些是 GET 请求,哪些是 POST 请求
 
GET 请求有哪些:
1 form 标签 method=get
2 a 标签
3 link 标签引入 css
4 Script 标签引入 js 文件
5 img 标签引入图片
6 iframe 引入 html 页面
7 、在浏览器地址栏中输入地址后敲回车
 
POST 请求有哪些:
1、 form 标签 method=post
 
 

拓展:

等幂性:幂等性原本是数学上的概念,即使公式:f(x)=f(f(x)) 能够成立的数学性质。用在编程领域,则意为对同一个系统,使用同样的条件,一次请求和重复的多次请求对系统资源的影响是一致的。

幂等性是分布式系统设计中十分重要的概念,具有这一性质的接口在设计时总是秉持这样的一种理念:调用接口发生异常并且重复尝试时,总是会造成系统所无法承受的损失,所以必须阻止这种现象的发生。

幂等有两个维度:

一是空间维度上的幂等,即幂等对象的范围,是个人还是机构,是某一次交易还是某种类型的交易...

二是时间维度上的幂等,即幂等的保证时间,是几秒、几分钟还是永久性的。

猜你喜欢

转载自blog.csdn.net/ijwwio/article/details/106123895