HTTP客户端都应该支持的五个特性
在我看来,HTTP客户端必须要支持如下五个特性。
- 缓存
- 最后修改时间的检查
- ETags
- 压缩
- 重定向
缓存返回的头如下:
1 Cache-Control: max-age=31536000, public 2 Expires: Mon, 31 May 2010 17:14:04 GMT
最后修改时间返回头如下:
1 Last-Modified: Fri, 22 Aug 2008 04:28:16 GMT
ETags作用同第二点,返回的头信息如下:
1 ETag: "3075-ddc8d800"
压缩:
Accept-encoding :请求头
Content-encoding :响应头
重定向的两个状态码:
1 302 临时重定向,资源被被临时从这里移动走了; (并且临时地址在Location 头里面给出)。 2 301 永久重定向, 它意味着,资源被永久的移动了; (并且在Location头里面给出了新的地址)。
如果你得到302状态码和一个新地址, http规范要求你访问新地址来获得你要的资源,但是下次你要访问同样的资源的时候你应该重新尝试旧的地址。但是如果你得到301状态码和新地址, 你从今以后都应该使用新的地址。
在Python中,开源的httplib2就全都支持上述五个特性,推荐在python编程中处理HTTP时用它。
作者:
xwang
出处:
http://www.cnblogs.com/xwang/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。