HTTP协议基本知识

HTTP协议

   超文本传输协议(Hyper Text Transfer Proctocal,HTTP)是WWW浏览器(客户机)和服务器之间的应用层通信协议。HTTP是用于分布式协作超媒体信息系统的快速实用协议,是通用的、无状态的、面向对象的协议。WWW是以超文本(Hyper Text)为基础的。超文本是一种开放的阅读信息方式,可以根据阅读者的喜好有选择的阅读信息。

   HTTP规定了WWW的客户/服务器模式,在此工作模式中任何一个HTTP会话(事务)包括四个步骤,如下图

  1. 只要单击了某一个超级链接,HTTP的工作就开始了。WWW客户机通过HTTP与WWW的服务器建立连接。

  2. 连接建立后,客户机发出需要服务或需要信息的请求,还包括一些地址信息和补充信息,传递给服务器。

  3. 服务处理请求,返回所请求的信息或返回一个响应指出不能答复该请求,其中包括影响客户的要求、提供信息和服务,以及一些记录状态的信息。

  4. WWW上的客户端接收服务器所返回的应答信息并通过浏览器显示在显示屏上,然后客户机和服务器自动关闭连接。

    如果在上述过程中某一步发生错误,则产生错误信息返回到客户端由显示屏输出。但对于用户来说,这些过程是由HTTP自己完成的,用户要做的只是用鼠标单击,然后等待信息输出到用户的显示屏上。

    HTTP协议是基于TCP/IP的协议,它不仅需要保证正确传送超文本文档,还必须能够确定传送文档中的哪一部分、以及哪部分内容首先显示等。其他WWW服务,如FTP、Telnet和Gopher同样必须利用HTTP.

HTTP服务器与HTTP客户机之间的会话如下:
1 客户机与服务器建立联系
    与服务器建立连接,就是与SOCKET建立连接,因此要指定机器名称、资源名称
和断口号,可以通过URL来提供这些信息。URL的格式为:
          HTTP://<IP地址>/[端口号]/[路径][?<查询信息>]
    资源的缺省值是INDEX或DEFAULT,断口号缺省为80.
2 客户向服务器提出请求
    请求信息包括希望返回的文件名和客户机信息.客户机信息以请求头发送
给服务器,请求头包括HTTP方法和头字段.
    HTTP方法常用的有GET、HEAD、POST,而PUT、DELETE、LINK、UNLINK方法
许多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开头,表示服务器不能满足请求
         解释短语是对状态码的解释。
    。报文还向客户返回几个头字段,如:
         。STATUS CODE/REASON PHRASE
             。DATE
         。LAST-MODIFIED
         。SERVER
         。CONTENT _TYPE
         。RETRY_AFTER:服务器太忙时返回这个字段
         。WWW_AUTHENTICATE:当服务器的安全机制要求客户发送某中授权信息时使用该字段

    。报文最后是实体信息,即客户请求得到的HTTP服务器上的资源内容

HTTP协议状态码的含义

  号码 含义
-----------------------------------------
"100" : Continue
"101" : witching Protocols
"200" : OK
"201" : Created
"202" : Accepted
"203" : Non-Authoritative Information
"204" : No Content
"205" : Reset Content
"206" : Partial Content
"300" : Multiple Choices
"301" : Moved Permanently
"302" : Found
"303" : See Other
"304" : Not Modified
"305" : Use Proxy
"307" : Temporary Redirect
"400" : Bad Request
"401" : Unauthorized
"402" : Payment Required
"403" : Forbidden
"404" : Not Found
"405" : Method Not Allowed
"406" : Not Acceptable
"407" : Proxy Authentication Required
"408" : Request Time-out
"409" : Conflict
"410" : Gone
"411" : Length Required
"412" : Precondition Failed
"413" : Request Entity Too Large
"414" : Request-URI Too Large
"415" : Unsupported Media Type
"416" : Requested range not satisfiable
"417" : Expectation Failed
"500" : Internal Server Error
"501" : Not Implemented
"502" : Bad Gateway
"503" : Service Unavailable
"504" : Gateway Time-out
"505" : HTTP Version not supported

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值