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. 状态码的列表

  • 相关阅读:
    C# TransactionScope 使用
    .Net 4.5 的async 和await 的简单理解使用
    图片的等比缩放
    IIS 8 下使用 WCF
    SQL Server 中字符串中包含字符串变量的表示方法
    jsTree 的简单用法--异步加载和刷新数据
    webService 部署以后参数输入框不能显示
    js 节点属性
    js 数组排序
    js 时间格式化 -- 时间加减实现
  • 原文地址:https://www.cnblogs.com/yytest/p/13056425.html
Copyright © 2011-2022 走看看