tornado--01HTTP简介

2017-06-11  本文已影响0人  蜗牛加餐了

HTTP教程

背景

听了某老师的tornado的讲课,但不习惯他的方式。又要跟上他的上课节奏,因此,基于我的理解,和网络资源,制作了这个教程。

当然,更要时刻提醒自己理解和复习。如有错误,希望大家指正。

课前的基础知识

以上,非必须要求。如果有,理解上来更好。

HTTP简介

HTTP消息结构

客户端请求消息的格式:REQUEST

  1. 客户端请求消息 :根据数据的作用,分为三个部分。请求行(request line),请求头(request header), 请求体(请求数据request body)。

    • 请求行: 和服务端交互信息。包括:请求方法请求地址URL,等。<method> <request-URL> <version>

    • 请求头部:客户端环境信息。 其中比较重要的字段名:User-agentReferer,Cookie,Connection等。定义方法:字段名:值;

    • 请求体:如果请求要传递数据,会封装在这里面。

  2. 请求方法 (request method)

    HTTP1.1 共有8种客户端的请求方法。其中我们接触到,最常用:GET,POST.

    GET:请求指定页面信息,明文,常用URL传输。

    POST:向指定资源URL提交数据 ,并请求数据处理。

  3. 请求头信息(request header)

    User-agent: 客户端 浏览器的标识,服务器根据 这个标识 判断客户 使用的类型,并返回对应的代码。

    Referer: 客户请求的来源地址,比如网页地址A中,打开页面中的链接网址B,那么表明网址B的Referer是A。如果没有,表明是直接打开网址B。

    Cookie: 由服务端生成发来的信息,存储在客户端缓存中。在客户端下次请求,会传送给服务端。用来识别客户端,或之前客户端的一些操作信息等。

    Connection: 长连接。HTTP链接是每次连接只处理一个请求。在服务器处理完客户请求,会断开连接。每一个URL都必须建议一个独立的TCP连接,N多的URL连接加重了服务器负担,且易引起阻塞。因此,这里表明,建立一个持久连接。这里,可以通知终止TCP连接。HTTP/1.1默认的总为持久连接。

服务端响应信息格式:Response

  1. 服务端回应 信息:根据作用分为三类,状态行(Status-Line),响应报头(Response Header),响应正文。

    • 状态行:回应请求链接的信息。包括:HTTP版本号,请求链接响应的状态(Status Code),状态的简单描述。<version> <status> <reason-phrase>
    • 响应头部:传送响应的一些附加信息。它给出服务器的信息及请求资源的进一步访问信息。比较重要字段名:Content_Type,Date,Expires,Refresh,Set-Cookie。定义方法类似于请求头部。
    • 响应正文:请求资源的代码。
  2. 请求链接响应状态(Status Code):资源请求结果代码。共分为五类:每一类都由三位数字表示。

    1XX: 收到请求,需要继续处理。

    2XX:成功。请求操作被成功接收并处理。200 :请求成功。用于GET和POST请求。

    3XX:重定向。完成请求,需要采取进一步的动作。301:永久重定向。302:临时重定向。

    4XX: 客户端出错。请求包含语法错误,或是无法处理。404:Not Found.

    5XX: 服务器错误。服务器在处理中,出现错误,无法完成有效的请求。504: Gateway time-out.

  3. 响应头部 (Response Header). 回应客户端信息进一步描述。

    Content_Type: 标明文档类型。客户请求资源分为文本和二进制类型。文本可通过SMTP协议传输,二进制类型通过MIME协议传输。这里标明传输文件的类型,比如 :content_type为application/x-img 标明传输的为img图片格式的文件。客户端会根据content_type调用相应的程序来解读文件。

    Date: 传输时的GMT时间。

    Expires: 文档过期时间,文档缓存使用,以便于静态文件不重复加载,节省资源。

    Refresh: 文件刷新时间,可设置多少秒后,刷新文档,或是读取指定的页面。setHeader("Refresh", "5; URL=http://host/path").

    Set-Cookie: 设置cookie.

查看HTTP状态方法

http.png

其它补充知识


将文章,搬到了简书。因为,它支持markdown。

上一篇 下一篇

猜你喜欢

热点阅读