http协议作为Web通信的重要协议,完成了从客户端到服务端等一系列运作流程。 《图解HTTP》一书详细介绍了http协议的原理及应用,书中语言通俗易懂,图片生动传神,是非常好的入门教材。 本人最近在研究python爬虫,自然会用到很多http的知识,读完这本书的前几章后收货很大,遂将自己的想法总结一下。
《图解HTTP》一书免积分下载:点击下载pdf
返回结果状态码详解
消息数据转发的过程:经过代理,网关,隧道等
http首部字段的含义:
通用首部字段:
请求头:Cache-Control : no-cache #不要缓存服务器中的资源,直接从原服务器拿资源 max-age= #若缓存资源时间比max-age小,接收缓存资源。若max-age=0,从原服务器拿资源
响应头:Cache-Control : max-age = 123456 # 资源缓存的最长时间
Connection: keep-alive # 持久化连接
Date:# 创建http报文的日期
Transfer-Encoding: chunked # 传输报文主体时采用分块传输方式
请求首部字段:
Accept:’text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8’ #通知服务器,浏览器能处理的媒体类型及相对优先级
Host:# 必须指定的字段,请求主机名
Referer:# 请求资源的URL
User-Agent: # 将创建请求的浏览器信息告知服务器
响应首部字段:
Accept-Ranges: bytes # 服务器支持以字节为单位的请求范围
Age:# 告知客户端,源服务器多久前建立了响应
Etag: # 资源的唯一性标识
Location: # 重定向到指定URL
Server: # 告知客户端HTTP服务器的信息
实体字段首部:
Allow:# 告知客户端支持的请求方法(GET,Post等)
Content-encoding/language/length/range/type: # 一系列跟主体报文处理相关的字段
Expires: # 告知客户端资源失效的日期
Last-Modified:# 资源最后修改的时间