Http Get与Post请求区别

GetPost请求之间有很多不同之处。下面来看看它们之间的差异:

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.xuhuhu.com  
key1=value1&key2=value2

POST请求中,原始数据是在消息正文中发送的。下面来看看在POST请求时如何将信息传递给服务器。

POST请求的其他一些特性:

  • POST请求无法加入书签
  • POST请求对数据长度没有限制
  • POST请求从不缓存
  • POST请求不会保留在浏览器历史记录中

上一篇: Web技术基础 下一篇: Servlet API