0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HTTP协议的运作方式及请求/响应的步骤

要长高 来源:网络整理 作者:网络整理 2024-02-01 11:02 次阅读

什么是HTTP协议

超文本传输协议Hyper Text Transfer ProtocolHTTP是一个简单的请求-响应协议它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出而消息内容则具有一个类似MIME的格式。

HTTP的工作原理

HTTP是基于客户/服务器模式且面向连接的。典型的HTTP事务处理有如下的过程

1客户与服务器建立连接

2客户向服务器提出请求

3服务器接受请求并根据请求返回相应的文件作为应答

4客户与服务器关闭连接。

HTTP协议的运作方式

在WWW中“客户”与“服务器”是一个相对的概念只存在于一个特定的连接期间即在某个连接中的客户在另一个连接中可能作为服务器。基于HTTP的客户/服务器模式的信息交换过程它分四个过程建立连接、发送请求信息、发送响应信息、关闭连接。

wKgaomW7CdiAJfRMAAG6viDsKCs136.png

HTTP协议的报文格式

HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。请求报文格式如下

请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体

请求行以方法字段开始后面分别是URL字段和HTTP协议版本字段并以CRLF结尾。SP是分隔符。除了在最后的CRLF序列中CF和LF是必需的之外其他都可以不要。有关通用信息头请求头和实体头方面的具体内容可以参照相关文件。

应答报文格式如下

状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体

状态码元由3位数字组成表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述状态码用来支持自动操作而原因分析用来供用户使用。客户机无需用来检查或显示语法。有关通用信息头响应头和实体头方面的具体内容可以参照相关文件。

HTTP 请求/响应的步骤

客户端连接到 Web 服务器

一个 HTTP 客户端。通常是浏览器,与 Web 服务器的 HTTP 端(默认为 80)建立一个 TCP 套接字连接。如:http://www.baidu.com;

发送 HTTP 请求

通过 TCP 套接字,客户端向 Web 服务器发送一个文本的请求报文,一个请求报文包括请求行、请求头部、空行和请求数据 4 部分组成。

服务器接受请求并返回 HTTP 响应

Web 服务器解析请求,定位请求资源。服务器将资源副本写到 TCP 套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据 4 部分组成。

释放 TCP 连接

如果 connect 模式为 close,则服务器阻断关闭 TCP 连接,客户端被动关闭连接,释放 TCP 连接;如果 connection 模式为 keepalive,则该连接会保持一段时间,在改时间内可以继续接收请求。

客户端浏览器解析 HTML 内容。

客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码,然后解析每一个响应头,响应头告知以下为若干字节的 HTML 文档和文档的字符集。客户端浏览器读取响应数据 HTML,根据 HTML 语法堆砌进行格式化,并在浏览器窗口中显示。

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    8120

    浏览量

    82524
  • HTTP
    +关注

    关注

    0

    文章

    467

    浏览量

    30316
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1272

    浏览量

    78301
收藏 人收藏

    评论

    相关推荐

    为什么有了HTTP,还需要RPC协议

    为什么有了HTTP,还需要RPC协议呢?在进行说明之前,首先我们需要了解什么是HTTP协议,什么是RPC协议。什么是
    的头像 发表于 08-14 10:05 665次阅读
    为什么有了<b class='flag-5'>HTTP</b>,还需要RPC<b class='flag-5'>协议</b>?

    一起学习HTTP协议

    的HTTPS。如下图所示:HTTP请求响应模型HTTP协议永远都是客户端发起请求,服务器回送
    发表于 12-16 10:42

    HTTP协议如何请求信息Request?

    WebClient 软件包功能特点HTTP协议介绍HTTP协议请求信息RequestHTTP协议响应
    发表于 03-30 07:35

    什么是Http协议

    Http协议中有哪些请求方式?****6、Http协议H
    发表于 12-22 06:27

    HTTP协议的相关资料分享

    前言HTTP协议是一个简单的请求-响应协议,它通常运行在TCP之上,传输端口一般为80。它指定了客户端可能发送给服务器什么样的消息以及得到什
    发表于 02-10 07:46

    基于HTTP协议客户端实现WebClient软件包介绍

    是一种请求/响应式的协议。一个客户端与服务器建立连接之后,发送一个请求给服务器。服务器接收到请求之后,通过接收到的信息判断
    发表于 08-15 14:23

    简述基于HTTP协议实现WebClient软件包的工作原理

    如何把数据传送给客户端的方式HTTP 协议采用了请求/响应模型。 客户端向服务器发送一个请求
    发表于 08-15 14:27

    http1.1协议中文版

    http1.1超文本传输协议标准的中文翻译版,IOT的HTTP请求响应模型
    发表于 10-29 11:10 0次下载

    iOS中HTTP传输协议

    不局限于文本(其实可以传输任意类型的数据)。 图1.1传输示意图.png 二、HTTP请求响应的内容 当我们往服务端发送一条HTTP请求
    发表于 09-26 16:27 0次下载
    iOS中<b class='flag-5'>HTTP</b>传输<b class='flag-5'>协议</b>

    HTTP协议的使用方式和设计原理讲解

    HTTP 协议在网络知识中占据了重要的地位,HTTP 协议最基础的就是请求响应的报文,而报文又
    发表于 06-28 09:08 3965次阅读
    <b class='flag-5'>HTTP</b><b class='flag-5'>协议</b>的使用<b class='flag-5'>方式</b>和设计原理讲解

    HTTP请求方式有哪些

    相信大家在不管是学习、工作或者面试中,肯定会碰到或被问到 HTTP  相关的知识。今天我们来聊聊有哪些 HTTP 请求方式,以及区别吧! 小伙伴们写过接口或者使用过网页开发者模式的,肯
    的头像 发表于 09-02 09:21 4249次阅读

    SQL注入中的HTTP请求头介绍

    作者名: 今天给大家讲解的是SQL注入中的http请求头注入,这种注入方式平时用的非常多,上次看别人面试时遇到了,就再来深究一下,研究其中的原理,利用方式等等 一、
    的头像 发表于 01-14 11:22 2701次阅读

    HTTP协议和MQTT协议对比谁更好

    HTTP协议是Web联网的基础,也是应用最为广泛和流行的协议HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送
    的头像 发表于 04-12 17:20 1505次阅读

    什么是HTTP协议

    超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指
    发表于 05-06 15:43 804次阅读

    HTTP协议运作方式

    客户端发起请求:客户端向服务端发送HTTP请求报文,报文包括请求行、请求头、请求体等内容,其中
    发表于 05-06 15:52 554次阅读
    <b class='flag-5'>HTTP</b><b class='flag-5'>协议</b>的<b class='flag-5'>运作</b><b class='flag-5'>方式</b>