HTTP请求方式GET和POST区别整理
超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信。HTTP 的工作方式是客户端与服务器之间的请求-应答协议。web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。
HTTP的请求方式常见的有GET和POST:GET-从指定的资源请求数据。POST-向指定的资源提交要被处理的数据。
一、GET方法
把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,数据在 URL 中对所有人都是可见的。
二、POST方法
将表单内各个字段与其内容放置在HTML 首部字段内一起传送到ACTION属性所指的URL地址请求服务端处理,数据不会显示在 URL 中,而是存放在request body内,对用户不可见。
三、GET与POST的区别
-
GET在浏览器回退时是无害的,而POST会再次提交请求。
-
GET产生的URL地址支持书签,而POST不可以。
-
GET请求会被浏览器主动缓存,而POST不会,除非手动设置。
-
GET请求只能进行URL编码,而POST支持多种编码方式。
-
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
-
GET请求在URL中传送的参数是有长度限制的,而POST没有。
-
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
-
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
-
GET参数通过URL传递,POST放在Request body中。
注意:GET请求产生一个TCP数据包:客户端会把HTTP请求的首部和数据部一并发送出去,服务端响应200(返回数据);
POST产生两个TCP数据包:客户端先发送HTTP请求首部,服务器响应100 等待客服端传送数据;客户端再发送数据部,服务端响应200(返回数据)。
本文来自博客园,作者:Jcpeng_std,转载请注明原文链接:https://www.cnblogs.com/JCpeng/p/15038615.html