什么是HTTP协议?

        超文本传输​​协议(HTTP)是一个用于传输超媒体文档(例如 HTML)的应用层协议。它是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也可以用于其他目的。HTTP 遵循经典的客户端-服务端模型,客户端打开一个连接以发出请求,然后等待直到收到服务器端响应。HTTP 是无状态协议,这意味着服务器不会在两个请求之间保留任何数据(状态)。尽管通常基于 TCP/IP 层,但它可以在任何可靠的传输层上使用,也就是说,该协议不会像 UDP 那样静默的丢失消息。

HTTP概述

HTTP是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议)。它是在 Web 上进行数据交换的基础,是一种 client-server 协议,也就是说,请求通常是由像浏览器这样的接受方发起的。一个完整的Web文档通常是由不同的子文档拼接而成的,像是文本、布局描述、图片、视频、脚本等等。

HTTP请求中的关键信息

  1. 方法
  2. 路径
  3. 版本信息
  4. 请求头
  5. 请求体(如果有请求头)

HTTP响应中的关键信息

  1. 版本
  2. 状态(200、404、500……)
  3. 响应头(最重要的响应头是 Content-Type)
  4. 响应体

HTTP Headers(响应头)

        HTTP 消息头允许客户端和服务器通过 request response传递附加信息。一个请求头由名称(不区分大小写)后跟一个冒号“:”,冒号后跟具体的值(不带换行符)组成。该值前面的引导空白会被忽略。

        自定专用消息头可通过'X-' 前缀来添加;但是这种用法被IETF在2012年6月发布的  RFC6648中明确弃用,原因是其会在非标准字段成为标准时造成不便;其他的消息头在  IANA注册表中列出, 其原始内容在 REC 4229 中定义。

1.根据不同上下文,可将消息头分为:

  • General headers: 同时适用于请求和响应消息,但与最终消息主体中传输的数据无关的消息头。
  • Request headers: 包含更多有关要获取的资源或客户端本身信息的消息头。
  • Response headers: 包含有关响应的补充信息,如其位置或服务器本身(名称和版本等)的消息头。
  • Entity headers: 包含有关实体主体的更多信息,比如主体长(Content-Length)度或其MIME类型。

2.消息头也可以根据代理对其的处理方式分为:

端到端消息头

        这类消息头必须被传输到最终的消息接收者,也即,请求的服务器或响应的客户端。中间的代理服务器必须转发未经修改的端到端消息头,并且必须缓存它们。

逐跳消息头

        这类消息头仅对单次传输连接有意义,不能通过代理或缓存进行重新转发。

HTTP 请求方法

        HTTP 定义了一组请求方法,以表明要对给定资源执行的操作。指示针对给定资源要执行的期望动作。虽然他们也可以是名词, 但这些请求方法有时被称为HTTP动词。每一个请求方法都实现了不同的语义,但一些共同的特征由一组共享。

GET方法:请求一个指定资源的表示形式,使用GET的请求应该只被用于获取数据。

HEAD方法:请求一个与GET请求的响应相同的响应,但没有响应体。

POST方法:用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用。

PUT方法:用请求有效载荷替换目标资源的所有当前表示。

DELETE方法:删除指定的资源。

CONNECT方法:建立一个到由目标资源标识的服务器的隧道。

OPTIONS方法:用于描述目标资源的通信选项。

TRACE方法:沿着到目标资源的路径执行一个消息环回测试。

PATCH方法:用于对资源应用部分修改。

HTTP 响应代码(状态码)

        HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成。响应分为五类:信息响应(100199),成功响应(200299),重定向(300399),客户端错误(400499)和服务器错误 (500599)。状态代码由 section 10 of RFC 2616定义。

具体响应码对应:HTTP 响应代码 - HTTP | MDN

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值