带你详解 HTTP 协议(一):概述 HTTP 工作过程

11 篇文章 2 订阅
订阅专栏

转自涤生_Woo 简书

                                                                      一张图带你看完本系列文章

一、概述

1.计算机网络体系结构分层

                                                                               计算机网络体系结构分层

2.TCP/IP 通信传输流

利用 TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则从链路层往上走。如下:

                                                                                                 TCP/IP 通信传输流

  • 首先作为发送端的客户端在应用层(HTTP 协议)发出一个想看某个 Web 页面的 HTTP 请求。
  • 接着,为了传输方便,在传输层(TCP 协议)把从应用层处收到的数据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。
  • 在网络层(IP 协议),增加作为通信目的地的 MAC 地址后转发给链路层。这样一来,发往网络的通信请求就准备齐全了。
  • 接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的 HTTP请求。

如下图所示:

                                                                                 HTTP 请求

在网络体系结构中,包含了众多的网络协议,这篇文章主要围绕 HTTP 协议(HTTP/1.1版本)展开。

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。
我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。

二、HTTP 工作过程

                                           HTTP请求响应模型

HTTP通信机制是在一次完整的 HTTP 通信过程中,客户端与服务器之间将完成下列7个步骤:

  1. 建立 TCP 连接
    在HTTP工作开始之前,客户端首先要通过网络与服务器建立连接,该连接是通过 TCP 来完成的,该协议与 IP 协议共同构建 Internet,即著名的 TCP/IP 协议族,因此 Internet 又被称作是 TCP/IP 网络。HTTP 是比 TCP 更高层次的应用层协议,根据规则,只有低层协议建立之后,才能进行高层协议的连接,因此,首先要建立 TCP 连接,一般 TCP 连接的端口号是80;
  2. 客户端向服务器发送请求命令
    一旦建立了TCP连接,客户端就会向服务器发送请求命令;
    例如:GET/sample/hello.jsp HTTP/1.1
  3. 客户端发送请求头信息
    客户端发送其请求命令之后,还要以头信息的形式向服务器发送一些别的信息,之后客户端发送了一空白行来通知服务器,它已经结束了该头信息的发送;
  4. 服务器应答
    客户端向服务器发出请求后,服务器会客户端返回响应;
    例如: HTTP/1.1 200 OK
    响应的第一部分是协议的版本号和响应状态码
  5. 服务器返回响应头信息
    正如客户端会随同请求发送关于自身的信息一样,服务器也会随同响应向用户发送关于它自己的数据及被请求的文档;
  6. 服务器向客户端发送数据
    服务器向客户端发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以 Content-Type 响应头信息所描述的格式发送用户所请求的实际数据;
  7. 服务器关闭 TCP 连接
    一般情况下,一旦服务器向客户端返回了请求数据,它就要关闭 TCP 连接,然后如果客户端或者服务器在其头信息加入了这行代码 Connection:keep-alive ,TCP 连接在发送后将仍然保持打开状态,于是,客户端可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

作者:涤生_Woo
链接:https://www.jianshu.com/p/6e9e4156ece3
来源:简书

HTTP协议】---HTTP协议详解
a8892117的博客
02-25 1070
HTTP协议详解 一.HTTP简介 1.HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。 2.HTTP协议作为TCP/IP模型中应...
TCP-IP详解卷1:协议
05-28
《TCP/IP详解,卷1:协议》(共3卷,其他卷请到我的空间下载)是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获...
HTTP协议请求过程
chen772209的博客
06-02 2231
HTTP协议请求过程 HTTP协议请求过程: 大致的流程:输入地址 –> DNS域名解析 –> 发起TCP的三次握手 –> 建立TCP连接后发起http请求 –> 服务器响应http请求,浏览器得到html代码 –> 浏览器解析html代码,并请求html代码中的资源(如javascript、css、图片等) –> 浏览器对页面进行渲染呈现给用户。 第一步:输入地址: 当我们开始在浏览器中输入网址的时候,浏览器其实就已经在智能的匹配可能的url了,他会从历史记录,书签等地
HTTP协议详解
热门推荐
qq15035899256的博客
08-02 5万+
本文是HTTP协议的学习,了解HTTP协议工作过程HTTP的请求和响应格式,以及如何手写HTTP服务器。之后的学习内容将持续更新!!!
网络协议HTTP协议工作原理,报文格式解析,Wireshark抓包分析HTTP协议工作流程
最新发布
2401_84254087的博客
05-02 1358
超文本传输协议」,基于B/S架构(Browser/Server,浏览器/服务器模式)通信,用户通过浏览器访问Web服务器产生的网页(文本、图片、视频、音乐等),与服务器进行数据交互。协议本质上就是一个约定俗称的规范,而HTTP协议就规定了浏览器需要如何从服务器请求Web页面、服务器需要如何把Web页面传送给客户端。HTTP请求的中间部分就是请求头,一行一个,每个请求头的字段都有不同的作用,按需使用。表示请求方法(面试常问),不同的方法可以实现不同的获取数据的操作。HTTP请求报文的数据包如下。
正确认识HTTP协议过程
Laicaling的博客
07-13 162
现如今可以说,每一个领域都多多少少会跟互联网有联系。这是一个网络互联的时代。实际上,大伙儿对于互联网的依赖与使用都会比以前要多。 不论是隐藏自己的IP或是访问受到限制的网站,都难以避免地与IP代理取得联系。这是因为倘若要实现这些功能,您只有通过IP代理工具来实现它,可是倘若想获取IP代理的功能服务,那么咱们最先应该对IP代理有一定的了解。 代理服务器将请求转发到目标服务器,代理服务器将对请求的数据包展开加密和压缩,以确保咱们的信息安全。 伴随着动态IP代理的普及,我们可以充分利用爬虫技术,大批量采集数据信息
HTTP工作过程
zhongshanxian的博客
06-29 6949
无论是面试还是笔试,有一个问题经常被问到:详细讲述从浏览器输入地址到呈现页面中间发生了什么事情。 前端工程师不能只懂得写页面,还要拓展学习其他方面,例如计算机网络,我们要了解页面的获取机制,想办法从页面上提高网络性能。 一、什么是HTTPHTTP是超文本传输协议,计算机之间要通信,必须遵循协议的规则。 二、HTTP工作过程? 简单概括就是三个步骤。 HTTP客户端发起请求,创建端口...
关于http协议的详细分析
weixin_47019016的博客
06-17 1689
HTTP协议分析OSI七层模型和TCP/IP模型及对应协议TCP/IP四层模型TCP的三次握手、四次挥手HTTP协议分析http协议的版本Web网页资源类型 OSI七层模型和TCP/IP模型及对应协议 七层模型,亦称OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。 OSI七层模型
1111网络协议详解.doc
12-06
**网络协议详解——ICMP详解** ICMP,全称为Internet Control Message Protocol,即网际控制消息协议,是TCP/IP协议族中的一个重要组成部分。其主要功能是用于网络故障检测和报告,帮助网络设备如路由器和主机间...
TCP/IP详解卷1:协议
06-03
第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 6 1.7 分用 8 1.8 客户-服务器模型 8 1.9 端口号 9 1.10 标准化过程 10 1.11 RFC 10 1.12 标准的简单服务 11 ...
TCP-IP详解卷一:协议
05-19
TCP-IP详解卷一:协议 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 6 1.7 分用 8 1.8 客户-服务器模型 8 1.9 端口号 9 1.10 标准化过程...
HTTP协议概念及工作流程(HTTP协议详解
月光晒了很凉快的博客
02-02 3744
本篇文章主要介绍了HTTP协议的重要性、什么是协议、什么是HTTP协议HTTP协议的工作流程、HTTP请求信息和响应信息的格式。
HTTP协议1:工作原理
huangmr的专栏
06-15 1万+
1. HTTP简介          HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。          在了解HTTP如何工作之前,我们先了
HTTP的工作流程
yuzhong
02-07 3393
HTTP的工作流程第一步:建立TCP/IP连接,客户端与服务器通过Socket三次握手进行连接第二步:客户端向服务端发起HTTP请求(例如:POST/login.html http/1.1)第三步:客户端发送请求头信息,请求内容,最后会发送一空白行,标示客户端请求完毕第四步:服务器做出应答,表示对于客户端请求的应答,例如:HTTP/1.1 200 OK第五步:服务器向客户端发送应答头信息第六步:服务
http工作流程
zhaosansao的博客
08-29 2081
一次HTTP操作称为一个事务,其工作过程可分为四步: 1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。 2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。 3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的...
HTTP协议概念及工作流程
qq_39165819的博客
05-14 137
什么是协议: 双方都遵从的规范,这个规范可以称为协议HTTP协议工作流程 当你打开一个页面时,客户端与服务端建立连接,服务端apach响应客户端将资源打包显示在页面。 HTTP请求信息和响应信息的格式 请求: (1)请求行 (2)请求头信息 (3)请求主体信息(可以没有) 请求行分三部分 请求方法 请求路径 所用的协议 请求方法:GET POST DELETE TRACE OPTIONS 问:浏览器能发送HTTP协议HTTP协议一定要用浏览器发送嘛 答,不一定非得是浏览器才能发送,使用 TALENT也
HTTP 协议详解
xiaohua616的博客
06-17 1793
Http协议是一个TCP协议,采用BS模型,用来传输数据(查询结果等) 超文本传输协议,从服务器传输超文本到本地浏览器的传送协议 HTTP 是一种应用层协议,是基于 TCP/IP 通信协议来传递数据的 特点:快速简单:客户服务器发送请求,只需要传送请求的方法和路径。请求方法有Get、Post等 协议:使数据在网络上从源头到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议,它最终体现为在网络上传输的数据包的格式(通俗讲,协议就是要保证网络通信的双方,能够互相对接上号。就像是两个人传递纸条通过互相指
HTTP -- HTTP内容协商、HTTP认证、HTTP缓存
天行健 君子以自强不息,地势坤 君子以厚德载物。
05-26 503
HTTP中,内容协商是一种用于在同一URL上提供资源的不同表示形式的机制。内容协商机制是指客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最为适合的资源。内容协商会以响应资源的语言、字符集、编码方式等作为判断的标准。
HTTP协议详解HTTP特点、URL、HTTP请求详细、HTTP响应详细。
06-08
HTTP(HyperText Transfer Protocol)是一种用于传输超文本(例如HTML)的协议。它是Web应用程序的基础,也是Internet上最常用的协议之一。下面是HTTP协议详解HTTP特点: 1. 简单快速:HTTP协议作为一种通信协议,它的设计是简单的,使得它快速、高效。 2. 灵活:HTTP协议允许客户端和服务器之间传输任何类型的数据,包括文本、图像、音频、视频等。 3. 无状态:HTTP协议是一种无状态协议,这意味着服务器不会保留任何客户端的请求信息,每个请求都是独立的。 4. 可扩展:HTTP协议是一种可扩展的协议,可以通过添加新的方法、头部或状态码来扩展。 URL: URL(Uniform Resource Locator)是一种用于定位Web上资源的地址。它由协议、主机名、端口号、路径和查询组成。例如,http://www.example.com/index.html是一个URL,其中http协议、www.example.com是主机名、80是端口号(默认为80)、index.html是路径。 HTTP请求详细: HTTP请求由请求行、请求头部和请求正文组成。请求行包括请求方法、URL和HTTP协议版本。请求头部包括一系列的头部字段,用于描述客户端或请求正文的信息。请求正文包含请求的数据。 HTTP响应详细: HTTP响应由状态行、响应头部和响应正文组成。状态行包括HTTP协议版本、状态码和状态码的原因短语。响应头部包括一系列的头部字段,用于描述服务器或响应正文的信息。响应正文包含响应的数据。

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Ubuntu系统中如何删除一个用户 28669
  • 消融实验(Ablation experiment)是什么? 24713
  • 解决Git 克隆代码 The remote end hung up unexpectedly错误 22729
  • 【总结】NPU/CPU/GPU 傻傻分不清? 21836
  • GitHub上如何创建文件夹 16359

分类专栏

  • 嵌入式开发
  • 资讯 1篇
  • Git 13篇
  • Robotics
  • Paper Reading 26篇
  • 华为Atlas 13篇
  • 编程技术 7篇
  • Java
  • Linux运维 14篇
  • STL
  • Python 2篇
  • 网络基础 11篇
  • SQL
  • SLAM 8篇
  • LeetCode
  • Data Structure 4篇
  • Deep Learning 11篇
  • 图像处理 25篇

最新评论

  • Ubuntu下解决Git保存用户名和密码的方法

    qiuzen: 感谢大佬的分享,希望能加个微信好友,以后多多交流,我是C语言+Vue3程序员,我的微信:TobeBuda

  • Ubuntu系统中如何删除一个用户

    drogba6: sudo rm -r 文件名 可以用这个删除还存在的文件夹

  • ubuntu-设置系统环境变量

    无风不起浪0123: 写的很清楚,感谢。

  • GitHub上如何创建文件夹

    音程: 第2个太有用了

  • 解决Git 克隆代码 The remote end hung up unexpectedly错误

    h2dx: 最后一条补充,里面的执行命令 中间应加上--global ``` git config --global http.postBuffer 524288000 ```

大家在看

  • Hadoop三大组件原理详解:hdfs-yarn-MapReduce(第9天)
  • 力扣 面试题17.04.消失的数字 2052
  • Spring AI 整合 openAI 的绘图模型生成图片
  • Redis 缓存穿透、缓存击穿、缓存雪崩区别和解决方案 934
  • 【Android】构建 Android Automotive OS:适合初学者的指南 812

最新文章

  • 一文详解之江实验室-之江天枢人工智能开源平台
  • 配置github的ssh密钥(Windows)
  • 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别(转)
2021年55篇
2020年63篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司丹竹头网站改版龙岗百搜标王大运网站搜索优化南山关键词按天扣费南山网页制作双龙网站设计模板东莞百搜标王东莞外贸网站建设沙井网络营销坂田关键词按天扣费坑梓百度关键词包年推广吉祥网站优化按天扣费荷坳百搜词包沙井seo优化南联优化龙岗seo网站推广宝安网页设计广州网站优化按天计费罗湖建站观澜模板推广石岩网站优化按天收费大鹏企业网站改版同乐关键词排名松岗建网站大运英文网站建设坪地网站推广系统南联SEO按效果付费爱联seo排名坂田百度网站优化排名广州百度竞价包年推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化