HTTP请求中GET和POST的区别

关于 HTTP 协议

HTTP(即超文本传输协议)是现代网络中最多见和经常使用的协议之一,设计它的目的是保证客户机和服务器之间的通讯。php

HTTP 的工做方式是客户机与服务器之间的 “请求-应答” 协议。html

客户端能够是 Web 浏览器,服务器端能够是计算机上的某些网络应用程序。浏览器

一般状况下,由浏览器向服务器发起 HTTP 请求,服务器向浏览器返回响应。响应包含了请求的状态信息以及可能被请求的内容。缓存

两种常见的 HTTP 请求:GET 和 POST

在客户机和服务器之间进行请求-响应时,两种最常被用到的请求方式是:GET 和 POST。服务器

GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据。网络

GET 请求

请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:加密

/test/test.php?name1=value1&name2=value2

有关 GET 请求的一些特色:spa

  1. GET 请求能够被缓存
  2. GET 请求保留在浏览器历史记录中
  3. GET 请求可被收藏为书签
  4. GET 请求不该在处理敏感数据时使用(即一般所说的数据不加密)
  5. GET 请求有长度限制
  6. GET 请求只应当用于从服务器取回数据

POST 请求

请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:设计

POST /test/test.php HTTP/1.1
Host: baidu.com
name1=value1&name2=value2

有关 POST 请求的一些特色:code

  1. POST 请求不会被缓存
  2. POST 请求不会保留在浏览器历史记录中
  3. POST 请求不能被收藏为书签
  4. POST 请求对数据长度没有要求
  5. POST 请求能够用于处理敏感数据

比较 GET 和 POST

下面的表格比较了两种 HTTP 方法:GET 和 POST

图片描述

参考资料

http://www.w3school.com.cn/tags/html_ref_httpmethods.asp

相关文章
相关标签/搜索