get 和post的区别

get 和post的区别

有关 GET 请求的其他一些注释:

GET 请求可被缓存
GET 请求保留在浏览器历史记录中
GET 请求可被收藏为书签
GET 请求不应在处理敏感数据时使用
GET 请求有长度限制
GET 请求只应当用于取回数据

有关 POST 请求的其他一些注释:

POST 请求不会被缓存
POST 请求不会保留在浏览器历史记录中
POST 不能被收藏为书签
POST 请求对数据长度没有要求

区别:

(1)post比get安全 ,因为post参数在请求体中。get参数在url上面(GET 方式需要使用 Request.QueryString 来取得变量的值;POST 方式通过 Request.Form 来获取变量的值。也就是说 Get 是通过地址栏来传值,而 Post 是通过提交表单来传值。)

(2)get传输速度比post快 根据传参决定的。(post通过请求体传参,后台通过数据流接收。速度稍微慢一些。而get通过url传参可以直接获取)

(3)post一般用于修改服务器上的资源,传输文件大理论没有限制; get一般用于信息获取,使用 URL 传递参数,传输文件小大概7-8k ie4k左右

(4)get获取数据 post上传数据(上传的数据比较多 而且上传数据都是重要数据。所以不论在安全性还是数据量级 post是最好的选择)

在以下情况中,请使用 POST 请求:

  1. 无法使用缓存文件(更新服务器上的文件或数据库)
  2. 向服务器发送大量数据(POST 没有数据量限制)
  3. 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

比较 GET 与 POST

image.png

HTTP 请求方法

  • HEAD : 与GET相同,但是只返回HTTP报头 , 不返回文档主体。
  • PUT : 上传指定的URL。
  • DELETE: 删除指定的资源。
  • OPTIONS : 返回服务器支持的 HTTP 方法。
  • CONNECT : 把请求连接转换到透明的 TCP/IP 通道。

你可能感兴趣的:(get 和post的区别)