• HTTP报文语法/HTTP组成


        一、HTTP报文分类:请求报文响应报文

        请求报文会向Web服务器请求一个动作,响应报文会将请求的结果返回给客户端

        请求报文格式:

        <method>  <request-URL>  <version>            这一行称为:请求行或请求的起始行

        <header>

     

        <entity-body>

     

        响应报文格式:

        <version>  <status>  <reson-phrase>              这一行称为:响应行或响应的起始行

        <header>

     

        <entity-body>

        二、下面是对各部分的描述:

    • 方法(method)

        客户端希望服务器对资源执行的动作。是一个单独的词,如GET、POST

    • 请求URL(request-URL)

        所请求资源,或者URL路径组件的完整URL

    • 版本(version)

        报文所使用的HTTP版本,格式:HTTP/<major>.<minor>

    • 状态码(status-code)

        描述请求过程中发生的情况。每个状态码的第一位数字用于描述状态的一般类别(成功、出错等)

    • 原因短语(reson-phrase)

        数字状态码的可读版本(描述操作状态的文本形式的原因短语)

    • 首部(header)

        可以有零个或多个首部,每个首部都包含一个名字,后面跟着一个冒号(:),然后是一个可选的空格,接着是一个值,最后是一个CRLF。首部是由一个空行(CRLF)结束的,表示了首部列表的结束和实体部分的开始。

        首部字段向请求和响应报文中添加了一些附加信息。

        本质上来说,它们只是一些名/值对的列表。

        首部的分类:

        1)通用首部:既可出现在请求报文中,也可出现在响应报文中。

            比如Date首部就是一个通用首部,每一端都可以它来说明构建报文的时间和日期:

            Date: Tue, 3 Oct 1974 02:16:00 GMT

        2)请求首部:提供更多有关请求的信息,请求报文特有的。为服务器提供了一些额外信息,比如客户端希望接收什么类型的数据。例如,Accept首部就是用来告知

             服务器客户端会接受与期请求相符的任意媒体类型:

             Accept: */*

        3)响应首部:提供更多有关响应的信息,以便为客户端提供信息(如,客户端在与哪种类型的服务器进行交互)。例如,Server首部就是用来告知客户端它在与一个

            版本 1.0 的 Tiki-Hut 服务器进行交互:

            Server: Tiki-Hut /1.0

        4)实体首部:描述主体的长度和内容,或者资源本身。如,可以用实体首部来说明实体主体部分的数据类型。如Content-Type首部告知应用程序,数据是以iso-latin-1

            字符集表示的HTML文档:

            Content-type: text/html; charset=iso-latin-1

        5)扩展首部:规范中没有定义的新首部,非标准的首部,由应用程序开发者创建,但还未添加到已批准的HTTP规范中。

    • 实体的主体部分(entity-body)

        包含一个由任意数据组成的数据块。并不是所有的报文都包含实体的主体报文,有时,报文只是以一个CRLF结束。

        实体的主体是HTTP报文的负荷,就是HTTP要传输的内容。

        HTTP报文可以承载很多类型的数字数据,如图片、视频、HTML文档、软件应用程序、信息卡事务、电子邮件等。

  • 相关阅读:
    水晶报表基础操作技巧收藏
    注册表里相应的
    .Net 中的反射(动态创建类型实例) Part.4动态创建对象
    .Net 中的反射(查看基本类型信息) Part.2
    Javascript多级菜单
    诡异的中毒现象
    js魔力代码
    Silverlight入门教程
    Silverlight 2.0中文学习资源集萃
    jatoolsPrinter 2手册
  • 原文地址:https://www.cnblogs.com/chengchengla1990/p/9011016.html
Copyright © 2020-2023  润新知