您的位置:首页 > 理论基础 > 计算机网络

http消息当中,post和get两种请求方式的区别

2017-03-23 16:06 543 查看
上周尼玛哥一直在看有关微信小程序,订阅号,服务号,等微信的应用,没来的及继续学习,今个学习到javaweb 的servlet ,觉得有个地方,可以大家稍微注意一下,就是消息请求当中,GET 与 POST 这两个消息请求的方式,他们的区别在哪里,平常咱们都用的啥~

尼玛哥在网上查阅资料,大概是有以下几点的区别:

1.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.
2.Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求的内容,而Get是在Http头部传输的

3、Get方法通过URL请求来传递用户的输入。Get方法传递的参数和值在URL上用?name=value&name=value的形式显示。Post方法通过另外的形式。

4、通过get方法提交数据,可能会带来安全性的问题。比如一个登陆页面。当通过get方法提交数据时,用户名和密码将出现在URL上。如果登陆页面可以被浏览器缓存或其他人可以访问客户的这台机器。那么,别人即可以从浏览器的历史记录中,读取到此客户的账号和密码。所以,在某些情况下,get方法会带来严重的安全性问题。

咱们编写两个测试文件,分别用于测试post 和get 在URL 上显示的区别。

Post请求

通过Tomcat服务器产生的URL地址



咱们在浏览器中打开,并输入结果,并且查看URL 是否会改变。





get请求:




在浏览器当中输入URL地址,http://localhost:8080/will_29/text2.html







显然Get方法局限性在于当要传的值很多是,就不便这样,否则URL可能超长度而出错
咱们在使用GET 请求和 POST 请求时,需要了解的知识点:
1). 使用GET方式传递参数:
①. 在浏览器地址栏中输入某个URL地址或单击网页上的一个超链接时,浏览器发出的HTTP请求消息的请求方式为GET。 
②. 如果网页中的<form>表单元素的 method 属性被设置为了“GET”,浏览器提交这个FORM表单时生成的HTTP请求消息的请求方式也为GET。 
③. 使用GET请求方式给WEB服务器传递参数的格式:   http://localhost/helloServlet.jsp?name=111111&password=111111 ④. 使用GET方式传送的数据量一般限制在 1KB 以下。 
2). 使用 POST 方式传递参数:
①. POST 请求方式主要用于向 WEB 服务器端程序提交 FORM 表单中的数据: form 表单的 method 置为 POST
②. POST 方式将各个表单字段元素及其数据作为 HTTP 消息的实体内容发送给 WEB 服务器,传送的数据量要比使用GET方式传送的数据量大得多。  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息