• 学习HTTP


    http://blog.csdn.net/lmh12506/article/details/7794512

    HTTP协议是无状态的和Connection: keep-alive的区别

      http协议是无状态的,同一个客户端的这次请求和上次请求是没有对应关系,对http服务器来说,它并不知道这两个请求来自同一个客户端。 为了解决这个问题, Web程序引入了Cookie机制来维护状态.

    HTTP是一个无状态的面向连接的协议,无状态不代表HTTP不能保持TCP连接,更不能代表HTTP使用的是UDP协议(无连接)。

      从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。

      Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。

    HTTP响应消息

    1. 响应消息格式

    HTTP响应消息的格式如下所示:

      状态行

      通用信息头|响应头|实体头

      CRLF

      实体内容

      其中:状态行 = 版本号 [空格] 状态码 [空格] 原因 [回车换行]

      状态行举例:

      Eg1:

      HTTP/1.0 200 OK 

            Eg2:

      HTTP/1.1 400 Bad Request

           HTTP响应消息实例如下所示:

      HTTP/1.1 200 OK
      ETag: W/"158-1192590101000"
      Last-Modified: Wed, 17 Oct 2007 03:01:41 GMT
      Content-Type: text/html
      Content-Length: 158
      Date: Wed, 17 Oct 2007 03:01:59 GMT
      Server: Apache-Coyote/1.1
     

    http的状态响应码

    1:请求收到,继续处理

      100——客户必须继续发出请求

      101——客户要求服务器根据请求转换HTTP协议版本

    2:操作成功收到,分析、接受

      200——交易成功
      201——提示知道新文件的URL

      202——接受和处理、但处理未完成

      203——返回信息不确定或不完整

      204——请求收到,但返回信息为空

      205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件

      206——服务器已经完成了部分用户的GET请求

    3:完成此请求必须进一步处理

      300——请求的资源可在多处得到

      301——删除请求数据

      302——在其他地址发现了请求数据

      303——建议客户访问其他URL或访问方式

      304——客户端已经执行了GET,但文件未变化

      305——请求的资源必须从服务器指定的地址得到

      306——前一版本HTTP中使用的代码,现行版本中不再使用

      307——申明请求的资源临时性删除

    4:请求包含一个错误语法或不能完成

      400——错误请求,如语法错误

      401——未授权

      HTTP 401.1 - 未授权:登录失败

      HTTP 401.2 - 未授权:服务器配置问题导致登录失败

      HTTP 401.3 - ACL 禁止访问资源

      HTTP 401.4 - 未授权:授权被筛选器拒绝

      HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败

      402——保留有效ChargeTo头响应

      403——禁止访问

      HTTP 403.1 禁止访问:禁止可执行访问

      HTTP 403.2 - 禁止访问:禁止读访问

      HTTP 403.3 - 禁止访问:禁止写访问

      HTTP 403.4 - 禁止访问:要求 SSL

      HTTP 403.5 - 禁止访问:要求 SSL 128

      HTTP 403.6 - 禁止访问:IP 地址被拒绝

      HTTP 403.7 - 禁止访问:要求客户证书

      HTTP 403.8 - 禁止访问:禁止站点访问

      HTTP 403.9 - 禁止访问:连接的用户过多

      HTTP 403.10 - 禁止访问:配置无效

      HTTP 403.11 - 禁止访问:密码更改

      HTTP 403.12 - 禁止访问:映射器拒绝访问

      HTTP 403.13 - 禁止访问:客户证书已被吊销

      HTTP 403.15 - 禁止访问:客户访问许可过多

      HTTP 403.16 - 禁止访问:客户证书不可信或者无效

      HTTP 403.17 - 禁止访问:客户证书已经到期或者尚未生效

      404——没有发现文件、查询或URl

      405——用户在Request-Line字段定义的方法不允许

      406——根据用户发送的Accept拖,请求资源不可访问

      407——类似401,用户必须首先在代理服务器上得到授权

      408——客户端没有在用户指定的饿时间内完成请求

      409——对当前资源状态,请求不能完成

      410——服务器上不再有此资源且无进一步的参考地址

      411——服务器拒绝用户定义的Content-Length属性请求

      412——一个或多个请求头字段在当前请求中错误

      413——请求的资源大于服务器允许的大小

      414——请求的资源URL长于服务器允许的长度

      415——请求资源不支持请求项目格式

      416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段

      417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求长。

    5:服务器执行一个完全有效请求失败

      HTTP 500 - 内部服务器错误

      HTTP 500.100 - 内部服务器错误 - ASP 错误

      HTTP 500-11 服务器关闭

      HTTP 500-12 应用程序重新启动

      HTTP 500-13 - 服务器太忙

      HTTP 500-14 - 应用程序无效

      HTTP 500-15 - 不允许请求 global.asa

      Error 501 - 未实现

      HTTP 502 - 网关错误

  • 相关阅读:
    IGV解读
    box-cox解读
    linux命令eval的用法
    R中导入excel乱码的解决办法
    Django下实现HelloWorld
    python的list求和与求积
    win10下安装Django
    python下实现汉诺塔
    (stm32f103学习总结)—DS18B20
    (stm32f103学习总结)—GPIO结构
  • 原文地址:https://www.cnblogs.com/haoshine/p/6069747.html
Copyright © 2020-2023  润新知