HTTP协议快速入门-读《图解HTTP》有感

来源:互联网 发布:搜狗输入法 优化版 编辑:程序博客网 时间:2024/05/21 22:44

前言:

http协议作为Web通信的重要协议,完成了从客户端到服务端等一系列运作流程。
《图解HTTP》一书详细介绍了http协议的原理及应用,书中语言通俗易懂,图片生动传神,是非常好的入门教材。
本人最近在研究python爬虫,自然会用到很多http的知识,读完这本书的前几章后收货很大,遂将自己的想法总结一下。

《图解HTTP》一书免积分下载:点击下载pdf

第一章:

  1. HTTP协议是应用层协议,其依赖于TCP/IP协议族才能进行通信。
  2. 与http关系密切的协议有:IP,TCP,DNS。
  3. 应理解TCP/IP协议族基本协议的工作机制。

第二章:

  1. 向服务器请求资源时,要指定请求方法。针对不同的请求方法,服务器做出相应的反馈。
    常用的请求方法有:GET,POST。具体应用可参阅python的request库的使用。
  2. 服务器会返回相应的状态码,常用的状态码有: 2xx – 成功 3xx – 重定向 4xx – 客户端错误 5xx – 服务器错误

第三章:

  1. http报文结构:报文首部/空行/报文主体,其中我们最关系的就是报文首部
  2. 一般,请求报文只有报文首部,响应报文有报文首部和报文主体

第四章:

返回结果状态码详解

第五章:

消息数据转发的过程:经过代理,网关,隧道等

第六章:

http首部字段的含义:

  1. 通用首部字段:

    请求头:Cache-Control :
    no-cache #不要缓存服务器中的资源,直接从原服务器拿资源
    max-age= #若缓存资源时间比max-age小,接收缓存资源。若max-age=0,从原服务器拿资源

    响应头:Cache-Control :
    max-age = 123456 # 资源缓存的最长时间

    Connection: keep-alive # 持久化连接

    Date:# 创建http报文的日期

    Transfer-Encoding: chunked # 传输报文主体时采用分块传输方式

  2. 请求首部字段:

    Accept:’text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8’
    #通知服务器,浏览器能处理的媒体类型及相对优先级

    Host:# 必须指定的字段,请求主机名

    Referer:# 请求资源的URL

    User-Agent: # 将创建请求的浏览器信息告知服务器

  3. 响应首部字段:

    Accept-Ranges: bytes # 服务器支持以字节为单位的请求范围

    Age:# 告知客户端,源服务器多久前建立了响应

    Etag: # 资源的唯一性标识

    Location: # 重定向到指定URL

    Server: # 告知客户端HTTP服务器的信息

  4. 实体字段首部:

    Allow:# 告知客户端支持的请求方法(GET,Post等)

    Content-encoding/language/length/range/type: # 一系列跟主体报文处理相关的字段

    Expires: # 告知客户端资源失效的日期

    Last-Modified:# 资源最后修改的时间

0 0
原创粉丝点击