浏览器分别在哪些情况下使用get方式和post方式访问web服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浏览器分别在哪些情况下使用get方式和post方式访问web服务器相关的知识,希望对你有一定的参考价值。

get请求方式:
直接在浏览器地址输入的访问地址,或提交表单时,该表单对应的form元素没有设置method方式或者method方式为get,get方式的请求会将请求参数的名和值转换成字符串,并附加在原rul之后,因此,可以在地址栏中看到请求参数名和值。且get请求方式传送的数据量小,一般不能大于2kb
post请求方式:
通过表单提交,且需要设置form的元素为post。post方式传送的数据量较大,取决于服务器的设置,post方式发送的请求参数以及对应的值放在html header中传输,用户不能在地址栏里看到请求参数之,安全性相对较高。
对比以上两种参数传递方式,我们应该采用post方式。

post请求方式处理非西欧字符:
必须在获取请求参数之前先调用setCharacterEncoding方法设置编码的字符集,因此当发送请求的表单页采用gb2312字符集
Jsp代码
<%@ page language="java" contentType="text/html;charset="gb2312"%>
<html>
request.setCharacterEncoding("gb2312");
String name = request.getParameter("name");
String [] colors = request.getParamterValues("color");
<!--下面依次输出表单域的值-->
您的名字:<%=name%>
您喜欢的颜色<%for(String c:colors)out.println(c+"");%>
</html>

get请求方式处理非西欧字符:
在获取请求参数值之后对请求参数值重新编码,也就是将其转换成字节数组,再将字节数组重新编码成字符串
Jsp代码
<%@ page language="java" contentType="text/html;charset="gb2312"%>
<html>
String rawName = request.getParametet("name");
bytes[] rawBytes = rawName.getBytes("ISO-8859-1");
String name = new String(rawBytes,"gb2312");
</html>
参考技术A 实现不了!手机根本就打不开生成的网页!亲自试了!肯能还需要什么硬件支持吧!

以上是关于浏览器分别在哪些情况下使用get方式和post方式访问web服务器的主要内容,如果未能解决你的问题,请参考以下文章

表单提交数据方式,到底是使用 GET,还是 POST呢?

Ajax中GET和POST的区别

Ajax中post与get的区别

请问一下随便写一个链接向tomcat发送一个请求是get方式还是post方式啊,谢谢

Get,Post请求方式详解

jquery中都有哪些方法可以遍历节点