黑马程序员技术交流社区

标题: 【广州校区】+【原创】+GET与POST请求方式区别 [打印本页]

作者: jianhong    时间: 2018-4-10 14:48
标题: 【广州校区】+【原创】+GET与POST请求方式区别
本帖最后由 jianhong 于 2018-4-10 15:25 编辑

一,我们先HTML页面上,制作2个表单提交页面,用户名和密码,get提交按钮和post提交按钮,查看HTTP请求
<html>
  <body>
           <h3>GET方式发送请求</h3>
                <form action="server" method="get">
                        用户名:<input type="text" name="user" /><br />
                        密码:<input type="password" name="password" /><br />
                        <input type="submit" value="GET提交"/>
                </form>
                <hr />
                <h3>POST方式发送请求</h3>
                <form action="server" method="post">
                        用户名:<input type="text" name="user" /><br />
                        密码:<input type="password" name="password" /><br />
                        <input type="submit" value="POST提交"/>
                </form>
  </body>
</html>



二,我们先看看HTTP请求的组成
1. 求行GET http://localhost:8080/HttpTest/server?user=hong&password=123
2. 请求头:由多组键值对组成
3. 请求体:浏览器发送给服务器的数据

4.POST请求方式
三,两者的区别
GET方式:
1、GET方式是以实体的方式得到由请求URL所指定资源的信息,如果请求URL只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述。也就是说,GET的到的信息是资源,而不是资源的处理过程。
2、请的求的数据会附加在URL之后,以?分隔URL和传输数据,多个参数用&连接。URL编码格式采用的是ASCII编码,而不是Unicode,即所有的非ASCII字符都要编码之后再传输。
3、因为URL的长度限制,GET方式传输的数据大小有所限制,传送的数据量不超过2KB。
4、GET方式服务器端用Request.QueryString获取变量的值。
5、GET方式传输的参数安全性低,因为传输的数据会显示在请求的URL中。
POST方式:
1、用来向目的服务器发出请求,要求它接收被附在请求后的实体,并把它当做请求队列中请求URL所指定资源的附加新子项。
2、POST方式将表单内各个字段和内容放置在HTML HEADER中一起传送到Action属性所指定的URL地址,用户是看不到这个过程的。
3、POST方式传送的数据量比较大,一般被默认为没有限制,但是根据IIS的配置,传输量也是不同的。
4、POST方式在服务器端用Request.Form获取提交的数据。
5、POST方式传输的数据安全性较高,因为数据传输不是明显显示的。



作者: 纯情小飞飞    时间: 2018-4-12 20:56
图文并茂,赞!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2