zoukankan      html  css  js  c++  java
  • 简单解释http协议

    HTTP 协议简介
    超文本传送协议(Hypertext Transfer Protocol,HTTP )是万维网( World Wide Web,WWW,也简称为Web )的基础。HTTP 服务器(通常的Web 服务器)与HTTP 客户机(通常为网页浏览器)之间的会话
     
    下面对这一过程进行详细分析。
    (1) 客户机与服务器建立连接
    与服务器建立连接,就是与SOCKET 建立连接,因此要指定机器名称、资源名
    称和端口号,可以通过URL 来提供这些信息。URL 的格式为:
    HTTP://<IP 地址>/[端口号]/[路径][?<查询信息>] ,

    资源的缺省值是INDEX 或DEFAULT,端口号缺省为80。
     
    (2) 客户向服务器提出请求
    请求信息包括希望返回的文件名和客户机信息。客户机信息以请求头发送给服
    务器,请求头包括HTTP 方法和头字段。
    HTTP 方法常用的有GET、HEAD、POST,而PUT、DELETE、LINK、UNLINK
    方法许多HTTP 服务器都不使用。
    头字段(通常叫做HTTP 头)包括:
    DATE:请求发送的日期和时间
    PARGMA:用于向服务器传输与实现无关的信息。这个字段还用于告诉代理
    服务器,要从实际服务器而不是从高速缓存取资源
    FORWARDED:可以用来追踪机器之间,而不是客户机和服务器的消息。这
    个字段可以用来追踪在代理服务器之间的传递路由。
    MESSAGE_ID:用于唯一地标识消息
    ACCEPT: 通知服务器客户所能接受的数据类型和尺寸。(*/*表示可以接受
    所有类型的数据。
    AOTHORIZATION:向服务器提供旁路安全保护和加密机制,若服务器
    不需要这个字段,则不提供这个字段
    FROM:当客户应用程序希望想服务器提供有关其电子邮件地址时使用
    IF-MODEFIED-SINCE 用于提供条件GET。如果所请求的文档自从所指定的
    日期以来没有发生变化,则服务器应不发送该对象。如果所发送的日期格式不合法,
    或晚于服务器的日期,服务器会忽略该字段。
    BEFERRER:向服务器进行资源请求用到的对象
    MIME-VERTION:用于处理不同类型文件的MIME 协议版本号
    USER-AGENT:有关发出请求的客户信息
     
    (3) 服务器对请求作出应答
    服务器收到一个请求,就会立刻解释请求中所用到的方法,并开始处理应答。
    服务器的应答消息也包含头字段形式的报文信息。
    报文第一行是状态行,格式为:
    <HTTP 版本号><状态代码><解释短语>
    状态码是个三位数字码,分为四类:
    以2 开头,表示请求被成功处理
    以3 开头,表示请求被重定向
    以4 开头,表示客户的请求有错
    以5 开头,表示服务器不能满足请求
    例如,访问一个不存在的网页或目录时返回的响应,注意
    浏览器的标题栏中的代码404就是返回的状态码:
     
    解释短语是对状态码的解释。例如 Not Found 是对404 的解释。
    响应报文除了返回状态行,还向客户返回几个头字段,如:
    DATE:服务器的时间
    LAST-MODIFIED:网页最后被修改的时间
    SERVER:服务器信息
    CONTENT _TYPE:数据类型
    RETRY_AFTER:服务器太忙时返回这个字段
    WWW_AUTHENTICATE:当服务器的安全机制要求客户发送某中授权信息时
    使用该字段
    报文最后是实体信息,即客户请求得到的HTTP 服务器上的资源内容。
    (4) 关闭客户与服务器之间的连接
     
  • 相关阅读:
    【BUG】android.content.res.Resources$NotFoundException: File res/drawable-xxhdpi/toolbar_line.png from
    关于 折半查找 while 条件 &lt; , &lt;=
    Unity3D——加入剑痕效果(PocketRPG Trail插件)
    用外部物理路由器时使用Neutron dhcp-agent提供的metadata服务(by quqi99)
    项目经理之项目经理注意事项
    让你提前认识软件开发(37):研发流程初探
    1.RunLoop是什么?
    列表类型内置方法
    字符串类型内置方法
    数字类型内置方法
  • 原文地址:https://www.cnblogs.com/chenlulouis/p/1527652.html
Copyright © 2011-2022 走看看