Get
和Post
请求之间有很多不同之处。下面来看看它们之间的差异:
GET | POST |
---|---|
数据以报头发送,所以只能发送有限数据的数据量。 | 可以发送大量的数据,因为数据是以正文的形式发送的。 |
GET 请求不受保护,因为GET 数据是直接在URL栏中显示的。 |
POST 请求相对安全一些,因为数据没有在URL栏中公开。 |
GET 请求可以加入浏览器书签栏。 |
POST 请求不可以加入浏览器书签栏。 |
GET 请求是幂等的。这意味着直到第一个请求的响应前,第二个请求将被忽略。 |
POST 请求不是幂等的。 |
GET 请求比POST 请求更有效率,以及使用频率更高。 |
POST 请求比GET 请求效率更低一些,以及使用频率更低。 |
服务器和客户端之间的请求响应的两种常用方法有:
- GET - 它从指定的资源请求数据
- POST - 它将处理的数据提交到指定的资源
GET请求的剖析
查询字符串(名称/值对)在GET
请求的URL内发送:
GET /RegisterDao.jsp?key1=value1&key2=value2
我们知道在GET
请求的情况下,数据是以请求头(报头)发送的,它是默认请求类型。下面来看看发送到服务器的信息。
GET请求的其他一些特性有:
- 它仍然在浏览器历史中
- 它可以加到书签
- 它可以被缓存
- 它有长度限制
- 在处理敏感数据时不应该使用它
- 它只能用于检索数据
POST请求的剖析
查询字符串(名称/值对)在HTTP消息正文中发送用于POST请求:
POST/RegisterDao.jsp HTTP/1.1
Host: www.yiibai.com
key1=value1&key2=value2
在POST
请求中,原始数据是在消息正文中发送的。下面来看看在POST
请求时如何将信息传递给服务器。
POST请求的其他一些特性:
POST
请求无法加入书签POST
请求对数据长度没有限制POST
请求从不缓存POST
请求不会保留在浏览器历史记录中