HTTP的基本概念、方法、状态码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq193423571/article/details/83117142

HTTP的基本概念、方法、状态码

主要介绍下HTTP中的基本概念、HTTP 方法、常见状态码,基本目录如下:

  1. 基本概念

    • HTTP 介绍
    • URL、URN、URI
  2. HTTP 请求方法

    • GET
    • HEAD
    • POST
    • PUT
    • PATCH
    • DELETE
    • OPTIONS
    • CONNECT
    • TRACE
  3. 状态码


1. 基本概念

1.1 HTTP介绍

  1. HTTP 协议默认端口是 80

  2. 定义一个无状态的请求/响应协议,是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准,基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等).

  3. 工作于客户端-服务端架构上,从万维网服务器传输超文本到本地浏览器的传送协议。Web服务器根据接收到的请求后,向客户端发送响应信息,浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求

  4. HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。

  5. 主要的5个特点

    1. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

    2. 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

    3. 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

    4. 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

    5. 支持 B/SC/S 模式。

  6. HTTP规定在HTTP客户与HTTP服务器之间的每次交互,都由一个ASCII码串构成的请求和一个“类MIME(MIME—like)”的相应组成。HTTP报文通常都是用TCP连接

  7. 万维网客户把HTTP请求报文作为TCP连接三次握手的第三个报文的数据发送给万维网服务器,服务器收到HTTP请求报文后,就把所请求的文档作为响应报文返回给客户。

  8. HTTP/1.0的主要缺点,是每请求一个文档就要有两倍RTT的开销。HTTP/1.1使用持续连接。所谓持续连接,就是万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文,这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。

  9. HTTP/1.1协议的持续连接有两种方式,即非流水线方式和流水线方式。非流水线方式的特点是,客户在收到前一个响应后才能发出下一个请求;流水线方式的特点是,客户在收到HTTP的响应报文之前就能接着发送新的请求报文。

  10. HTTP请求报文和响应报文都由三个部分组成:开始行、首部行、实体主题。开始行用于区别报文时响应报文还是请求报文,在请求报文中,开始行叫做请求行,而在响应报文中,开始行叫做状态行。

  11. 请求报文请求行只有三个内容:方法、请求资源的URL、HTTP的版本。响应报文的状态行也包括三项内容:HTTP的版本、状态码、解释状态码的简单短语。

1.2 URI、URL、URN

URI 包含 URL 和 URN,目前 WEB 只有 URL 比较流行,所以见到的基本都是 URL。

  • URI(Uniform Resource Identifier,统一资源标识符)
  • URL(Uniform Resource Locator,统一资源定位符)
  • URN(Uniform Resource Name,统一资源名称)

HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。URL(Locator)是一种特殊类型的URI,包含了用于查找某个资源的足够的信息

URI一般由以下三部分组成:

1. 访问资源的命名机制
2. 存放资源的主机名
2. 资源自身的名称,由路径表示,着重强调于资源。

URL 是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。,是URI的子集

URN 通过名字表示资源

URI URL URN 的关系 :URI是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式。URL和URN都是一种URI。笼统地说,每个 URL 都是 URI,但不一定每个 URI 都是 URL。这是因为 URI 还包括一个子类,即统一资源名称 (URN),它命名资源但不指定如何定位资源。

URI、URN、URL关系

2.HTTP 请求方法

  • HTTP1.0 定义了三种请求方法: GET, POSTHEAD方法。

  • HTTP1.1 新增了五种请求方法:OPTIONS, PUT, DELETE, TRACECONNECT 方法。

方法信息介绍如下:

  • GET: 获取资源——请求指定的页面信息,并返回实体主体。
  • HEAD: 获取报文首部——类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
  • POST: 传输实体——向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
  • PUT: 上传文件——从客户端向服务器传送的数据取代指定的文档的内容。
  • DELETE: 删除文件——请求服务器删除指定的页面。
  • CONNECT: 与服务器建立连接——HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
  • OPTIONS: 允许客户端查看服务器的性能。
  • TRACE: 追踪访问路径——回显服务器收到的请求,主要用于测试或诊断。

3.HTTP状态码

状态码 类型 原因
1XX Informational(信息性状态码) 接收的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX edirection(重定向状态码) 需要进行附加操作以完成请求
4XX Client Error(客户端错误状态码) 服务器无法处理请求
5XX Server Error(服务器错误状态码) 服务器处理请求出错
  • 1XX 信息

    1. 100 Continue :表明到目前为止都很正常,客户端可以继续发送请求或者忽略这个响应。
  • 2XX 成功

    1. 200 OK

    2. 204 No Content :请求已经成功处理,但是返回的响应报文不包含实体的主体部分。一般在只需要从客户端往服务器发送信息,而不需要返回数据时使用。

    3. 206 Partial Content :表示客户端进行了范围请求,响应报文包含由 Content-Range 指定范围的实体内容。

  • 3XX 重定向(注意301302)

    1. 301 Moved Permanently :永久性重定向

    2. 302 Found :临时性重定向

    3. 303 See Other :和 302 有着相同的功能,但是 303 明确要求客户端应该采用 GET 方法获取资源。

    注:虽然 HTTP 协议规定 301、302 状态下重定向时不允许把 POST 方法改成 GET 方法,但是大多数浏览器都会在 301、302 和 303 状态下的重定向把 POST 方法改成 GET 方法。

    1. 304 Not Modified :如果请求报文首部包含一些条件,例如:If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since,如果不满足条件,则服务器会返回 304 状态码。

    2. 307 Temporary Redirect :临时重定向,与 302 的含义类似,但是 307 要求浏览器不会把重定向请求的 POST 方法改成 GET 方法。

  • 4XX 客户端错误

    1. 400 Bad Request :请求报文中存在语法错误。

    2. 401 Unauthorized :该状态码表示发送的请求需要有认证信息(BASIC 认证、DIGEST 认证)。如果之前已进行过一次请求,则表示用户认证失败。

    3. 403 Forbidden :请求被拒绝。

    4. 404 Not Found

  • 5XX 服务器错误

    1. 500 Internal Server Error :服务器正在执行请求时发生错误。

    2. 503 Service Unavailable :服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。

猜你喜欢

转载自blog.csdn.net/qq193423571/article/details/83117142