作用
- GET用于获取资源
- POST用于传输实体主体
参数
- GET的参数是以查询字符串出现在URL中
- POST的参数存储在实体主体中。
安全性
安全的HTTP方法不会改变服务器状态,也就是说它是可读的。
- GET方法是安全的
- POST方法不是安全的
幂等性
幂等的HTTP方法,同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的。换句话说就是,幂等方法不应该就有副作用(统计用途除外)
所有的安全方法也都是幂等的
- GET、HEAD、PUT和DELETE等方法都是幂等的
- POST方法不是幂等等
可缓存
如果要对响应进行缓存,需要满足一下条件:
- 请求报文的HTTP方法本身是可缓存的,包括GET和HEAD,但是PUT和DELETE不可缓存,POST在多数情况下不可缓存的。
- 响应报文的状态码是可缓存的,包括200,203,204,206,300,301,404,405,410,414,501
- 响应报文的Cache-Control首部字段没有指定不进行缓存
XML HTTP Request
XMLHttpRequest 是一个 API,它为客户端提供了在客户端和服务器之间传输数据的功能。它提供了一个通过 URL 来获取数据的简单方式,并且不会使整个页面刷新。这使得网页只更新一部分页面而不会打扰到用户。XMLHttpRequest 在 AJAX 中被大量使用。
- 在使用 XMLHttpRequest 的GET 方法 Header 和 Data 会一起发送。
- 在使用 XMLHttpRequest 的 POST 方法时,浏览器会先发送 Header 再发送 Data。
*感谢CS-Notes的指导