HTTP请求方法 之 GET
(2011-06-16 16:49:48)
标签:
杂谈 |
分类: 技术 |
HTTP请求方法并不是只有GET和POST,只是最常用的。据RFC2616标准(现行的HTTP/1.1)得知,通常有以下8种方法:OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE和CONNECT。
官方定义
GET方法用来获取Request-URI标识的任何(实体形式的)信息。如果Request-URI是关于一个数据处理过程,则应在响应中返回产生的数据,而不是过程中的源文本,除非该文本碰巧就是输出。
如果请求消息头包含If-Modified-Since、If-Unmodified-Since、If-Match、If-None-Match或If-Range,则GET方法的语义就变为“conditional GET”。只有在有条件的头域描述下,此conditional GET方法的请求才能传输。这种conditional GET方法试图通过刷新缓存实体来减少不必要的网络使用,避免多次请求或传输客户端已有的数据。
如果请求消息头包含Range,则GET方法的语义就变为“partial GET”。partial GET方法只请求传输实体的一部分。这种partial GET方法试图通过补全这些部分取回的实体来减少不必要的网络使用,避免传输客户端已有的数据。
简而言之
GET请求方法是最常用的HTTP请求之一,有以下几个特点:
1、是默认的请求方法;
2、GET请求通常用于获取信息,而不是修改,所以应该是安全的、幂等的。
3、请求数据表现在URL上,以名称/值的形式发送。通常URL的长度限制为2KB,对于正常请求,基本不会超出该限制,除非是XML。
4、在IE和Opera等浏览器会产生URL缓存。如果不增加冗余的请求参数,响应会返回缓存中数据,导致结果不一致。
5、安全性低。不过POST请求也只比GET请求更安全一点点,获取开放的POST数据也是轻而易举的事,除非使用安全的网络连接,例如SSL。

加载中…