GET与POST的区别

他们两个都是HTTP请求报文的两种方式,当然除了这两种请求方式外还有其他的请求方式,下面我们来看一下他们之间的区别

一、 GET重点是从服务区上申请资源,即get请求对服务端不会造成影响。

POST重点是向服务器发送数据,通过post提交可能对服务器端有影响,比如我们平时发微博,写评论。

二、 GET传送数据是通过URL,以键值对的形式置于URL后面,并且用?隔开,若有多个键值对则用&符号链接

POST传输是通过表单将键值对封存于请求实体中

三、 GET传输的数据是有限的,因为URL对字符长度是有限制的

POST理论上可以传输很多数据,但实际上web服务器对其也做了限制,

四、 GET是不安全的,传送数据的过程是可见的,因为传送的数据在url中显示

POST是相对安全的,传送数据的过程是不可见的

五、 GET只支持ASCII码字符,向服务器传送中文字符可能会出现乱码

POST支持标准字符集。

下面再来说一下他们在编码上的区别,下面是针对于在tomcat服务器上运行,tomcat服务器默认的编码是iso-8859-1编码方式,该编码是不支持中文的,所以在实际开发中就需要进行编码的转换,下面针对get方法和post方法提交数据的解决办法:

一、 该方法对get和post都适用

首先对相应的字符进行iso-8859-1编码,在进行UTF-8解码

例如; newStr=new String(oldStr.getBytes(“iso-8859-1”),”UTF-8”)

后面的参数UTF-8是与请求端的编码方式是一致的,大体的一个过程如下:

Utf-8编码-------iso-8859-1解码------- iso-8859-1编码--------utf-8编码

二、 该方法只对post请求有效,通过tomcat获取到的请求来设置

req.setCharacterEncoding(“UTF-8”);

心有多大,天有多高,一起奋斗!!
原文地址:https://www.cnblogs.com/zhaolei1996/p/10732753.html