zoukankan      html  css  js  c++  java
  • HTTP 协议

    一、简介

    1. 基于TCP/IP通信协议

    2. 浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求

    3. HTTP默认端口号为80

    4. HTTP是无连接,限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。

    5. HTTP是无状态,是指协议对于事务处理没有记忆能力

    6. HTTP协议通信流程:

    二、消息结构

    1. 一个HTTP"客户端"是一个应用程序(Web浏览器或其他任何客户端),通过连接到服务器达到向服务器发送一个或多个HTTP的请求的目的。

    2. 一个HTTP"服务器"同样也是一个应用程序(通常是一个Web服务,如Apache Web服务器或IIS服务器等),通过接收客户端的请求并向客户端发送HTTP响应数据。

    3. HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。

    4. 客户端请求消息:

      请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成

    5. 服务器响应消息:

      HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文

    三、请求方法

    四、响应头信息

    • Allow : 服务器支持哪些请求方法(如GET、POST等)。
    • Content-Encoding : 文档的编码(Encode)方法。
    • Content-Length : 表示内容长度。
    • Content-Type : 表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。
    • Date : 当前的GMT时间。
    • Expires : 应该在什么时候认为文档已经过期,从而不再缓存它?
    • Last-Modified : 文档的最后改动时间。
    • Location : 表示客户应当到哪里去提取文档。
    • Refresh : 表示浏览器应该在多少时间之后刷新文档,以秒计。这种功能通常是通过设置HTML页面HEAD区的<META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://host/path">实现.
    • Server : 服务器名字。
    • Set-Cookie : 设置和页面关联的Cookie。
    • WWW-Authenticate : 客户应该在Authorization头中提供什么类型的授权信息?

    五、状态码

    当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。

    1. 常见的状态码

    • 200 - 请求成功
    • 301 - 资源(网页等)被永久转移到其它URL
    • 404 - 请求的资源(网页等)不存在
    • 500 - 内部服务器错误

    2. 状态码的分类

    状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用,状态码一共有五类:

    • 1 开头 : 信息,服务器收到请求,需要请求者继续执行操作
    • 2 开头 : 成功,操作被成功接收并处理
    • 3 开头 : 重定向,需要进一步的操作以完成请求
    • 4 开头 : 客户端错误,请求包含语法错误或无法完成请求
    • 5 开头 : 服务器错误,服务器在处理请求的过程中发生了错误

    3. 状态码的列表

  • 相关阅读:
    POJ 2240 Arbitrage spfa 判正环
    POJ 3259 Wormholes spfa 判负环
    POJ1680 Currency Exchange SPFA判正环
    HDU5649 DZY Loves Sorting 线段树
    HDU 5648 DZY Loves Math 暴力打表
    HDU5647 DZY Loves Connecting 树形DP
    CDOJ 1071 秋实大哥下棋 线段树
    HDU5046 Airport dancing links 重复覆盖+二分
    HDU 3335 Divisibility dancing links 重复覆盖
    FZU1686 神龙的难题 dancing links 重复覆盖
  • 原文地址:https://www.cnblogs.com/yytest/p/13056425.html
Copyright © 2011-2022 走看看