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(返回数据)。

posted @ 2021-07-21 11:04  Jcpeng_std  阅读(351)  评论(0编辑  收藏  举报