HTTPGET与POST的区别

编程

  • 什么是 GET 请求方法 ?

GET 方法应该只用于读取数据。

浏览器直接发出 GET 只能由一个 url 触发,要在 url 之外带参数只能在 url 上带 querystring。

  • 什么是 POST 请求方法 ?

POST 方法是向指定资源提交数据,请求服务器创建或修改资源(如:提交表单和上传文件)。

表单的数据会被浏览器编码到 HTTP 请求中的 body 中,body 体中主要有以下两种格式。

1、application/x-www-form-urlencoded:传输简单的数据,"key1=value1&key2=value2"。

2、multipart/form-data:传文件,相对第一种编码方式处理文件这种二进制的数据更高效。

不是幂等,不能保证每次调用都能得到相同的结果。

  • 幂等属性:GET、HEAD、PUT 和 DELETE

  • HTML 标准对 HTTP 协议的用法的约定中要求,GET 把参数放在 URL 中传递,POST 将数据放在请求体中。

区别

GET

POST

页面后退或刷新

无变化(因为有缓存数据)

数据需要重新提交

存为书签

ture

表单数据会丢失,需要重新提交

请求缓存

浏览器主动缓存

需要手动设置

保存在浏览器历史记录

ture

false

编码类型

application/x-www-from-urlencoded

application/x-www-from-urlencoded 或 multipart/form-data(处理文件更高效)

数据长度限制

浏览器有长度字符限制

false

数据类型限制

ASCII 字符

无限制,也允许二进制数据

安全性(都不安全,因为HTTP是明文传输)

相比较差,可以在 url 看到参数

参数在 Request Body 主体中,不会保存在浏览器历史或 web 服务器日记中

用处

常用于获取数据

常用于提交数据

以上是 HTTPGET与POST的区别 的全部内容, 来源链接: utcz.com/z/514472.html

回到顶部