您当前的位置:首页 > 电脑百科 > 程序开发 > 架构

B/S架构web请求过程详解

时间:2019-08-12 11:00:25  来源:  作者:

首先说一下B/S架构,所谓B其实就是指浏览器,S就是服务端,浏览器通过HTTP协议访问服务端,一方面用户用着方便,一通百通节约了学习成本;另一方面统一的协议也节省了服务商的开发成本。HTTP协议采用无状态短连接的通信方式,一次请求就完成一次数据交互,然后就断开通信。基于此特点,为了能满足用户的访问请求以及快速响应用户请求,现在的B/S架构越来越复杂了,下面就具体说一下。

B/S架构web请求过程详解

1-1 DNS解析流程

先上一张图(1-1),咱们先从用户在浏览器输入一个url点回车说起。

  1. 用户在浏览器的搜索栏输入“www.test.com”,点击回车。
  2. 浏览器先从缓存看是不是存了域名对应的IP,存了就直接访问服务端,这个缓存受浏览器缓存大小和缓存时间的影响。
  3. 浏览器没有缓存就去找本机的HOSTS文件,看是否有配置DNS解析,如果配置了就直接访问IP对应的服务端。
  4. 本机也没有,那就要去本机所在的局域网了,一般公司都会有自己的DNS服务器(LDNS),绝大部分的域名解析到这里都结束了,如果还没有命中,那就要继续右边模块里的复杂流程了。
  5. LDNS首先去RDNS也就是ROOT SERVER域名服务器请求解析,RDNS返回gTLD(主域名服务器,如.com,.cn等)的地址,LDNS再去gTLD获取NAME SERVER地址,从NAME SERVER获取最终的IP。
  6. 将解析得来的IP返回给用户,用户本地缓存,并对该服务发起请求,请看下图。
B/S架构web请求过程详解

1-2 三次握手

上面通过DNS解析找到IP后,就要通过三次握手建立连接了。首先浏览器发送一个建立连接的请求,SYN=1,SEQ=1234;然后服务端接收到请求后要授予连接,就要发送一个报文段SYN+ACK报文段(SYN=1,ACK=1234+1,SEQ=4321);最后客户端收到服务端的报文再次发起确认连接报文 ACK=4321+1,SEQ=1234+1。接下来就可以发请求了。

假设我们请求的是http://www.test.com/test/index.html,请求内容包括html、css、js、jpg等图片,这时候为了响应能更快速,通常css、jpg、无业务逻辑的js都会放在cdn上,那什么是cdn呢?cdn就是内容分布网络,说白了它的作用就是根据网络当时的连接、负载等情况选择一个最优的节点返回用户需要的数据,提高响应速度。图参考1-1,会在DNS解析时CNAME(别名解析)解析到另一个域名,最终指向cdn的负载均衡服务器,由GTM(全局负载均衡)选择一个最优的CDN节点IP返回给用户,用户就可以去访问静态资源了。

总结一下上面说的内容,用户在访问一个地址的时候首先经过dns解析获取IP,然后通过三次握手与服务端建立连接,当拿到服务端返回的页面信息后,如果有静态资源类的内容,再通过cdn获取,最终结合html页面及其业务逻辑渲染在浏览器上。

先写这么多吧,第一次写文章,大家能理解吗?欢迎反馈,没时间看书又想了解的知识点也可以留言,我学完了总结给大家,希望评论区可以成为大家交流的地方,谢谢!



Tags:   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前言什么是数据脱敏数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护常用脱敏规则替换、重排、加密、截断、掩码良好的数据脱敏实施1、尽...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
河南最有名的“13碗面”,吃过10种以上的一定是地道河南人,你吃过几碗?河南位于黄河中下游,优越的地理位置和条件,让河南的种植业在全国脱颖而出,被称为全国的“粮仓”。小麦是河南...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
在狗界中,有些狗狗比较凶残、霸道,今天我们就来说说被称为“犬中四煞”的4种狗,请认住它们的长相,看见了要绕路走! NO1:黑狼犬产地:中国寿命:11-12年黑狼犬是狼狗的一种,长大高大威猛...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
协议下的体面离婚 2015年1月 方晴供职于一家外企,袁亮硕士毕业后开了家公司。两人相识、恋爱后走进婚姻殿堂。 方晴和袁亮的儿子小浩出生了。本该是其乐融融的三口之家,却在一...【详细内容】
2021-12-28  Tags:   点击:(2)  评论:(0)  加入收藏
中国人神话世界五千年到一万年之前到底是一个什么样的世界?相信这个问题应该是困扰了大家许久吧!其实这些问题可以从远古时代的三皇五帝开始说起,三皇五帝对于中国人的影响就如...【详细内容】
2021-12-28  Tags:   点击:(2)  评论:(0)  加入收藏
去年有个新闻,说的是一名印度女孩自小被欧洲有钱人家收养,长大后要回来给自己出生的村子捐钱做慈善。等她回村的时候,村里人专门为女孩修了一条路。表面上看,这貌似是个暖心的故...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
日本在今年又给大家带来了一个巨大消息,日本著名的球星本田圭佑出资设立的一家公司,正式发售了飞行摩托车。 在之前可是在电视或者是电影中才能看到的,是具备了未来科幻的一个...【详细内容】
2021-12-28  Tags:   点击:(4)  评论:(0)  加入收藏
V社今日公布了2021年Steam最畅销游戏榜单,其中涵盖了本年度Steam上收入最高的100款游戏。为了得出每款游戏的总收入,Steam计算了2021年1月1日至2021年12月15日的游戏销售额、...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
“都怪我一时糊涂铸下大错,这几年为了蒙混过关,拆东墙补西墙就怕被发现,我对不起信任我的领导同事,更对不起我的家人。”内蒙古某国有合资公司原出纳员包某在庭审现场听取公诉人...【详细内容】
2021-12-28  Tags:   点击:(2)  评论:(0)  加入收藏
2021年黄金价格下跌11.3%,黄金现在已经下跌了6.5%。白银价格一度下跌19.3%,白银现在已经下跌了15%。美元通胀。白银自2020年2月份以来,五家中央银行(Fed、欧洲中央银行、日本中...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
▌简易百科推荐
为了构建高并发、高可用的系统架构,压测、容量预估必不可少,在发现系统瓶颈后,需要有针对性地扩容、优化。结合楼主的经验和知识,本文做一个简单的总结,欢迎探讨。1、QPS保障目标...【详细内容】
2021-12-27  大数据架构师    Tags:架构   点击:(5)  评论:(0)  加入收藏
前言 单片机开发中,我们往往首先接触裸机系统,然后到RTOS,那么它们的软件架构是什么?这是我们开发人员必须认真考虑的问题。在实际项目中,首先选择软件架构是非常重要的,接下来我...【详细内容】
2021-12-23  正点原子原子哥    Tags:架构   点击:(7)  评论:(0)  加入收藏
现有数据架构难以支撑现代化应用的实现。 随着云计算产业的快速崛起,带动着各行各业开始自己的基于云的业务创新和信息架构现代化,云计算的可靠性、灵活性、按需计费的高性价...【详细内容】
2021-12-22    CSDN  Tags:数据架构   点击:(10)  评论:(0)  加入收藏
▶ 企业级项目结构封装释义 如果你刚毕业,作为Java新手程序员进入一家企业,拿到代码之后,你有什么感觉呢?如果你没有听过多模块、分布式这类的概念,那么多半会傻眼。为什么一个项...【详细内容】
2021-12-20  蜗牛学苑    Tags:微服务   点击:(9)  评论:(0)  加入收藏
我是一名程序员关注我们吧,我们会多多分享技术和资源。进来的朋友,可以多了解下青锋的产品,已开源多个产品的架构版本。Thymeleaf版(开源)1、采用技术: springboot、layui、Thymel...【详细内容】
2021-12-14  青锋爱编程    Tags:后台架构   点击:(21)  评论:(0)  加入收藏
在了解连接池之前,我们需要对长、短链接建立初步认识。我们都知道,网络通信大部分都是基于TCP/IP协议,数据传输之前,双方通过“三次握手”建立连接,当数据传输完成之后,又通过“四次挥手”释放连接,以下是“三次握手”与“四...【详细内容】
2021-12-14  架构即人生    Tags:连接池   点击:(17)  评论:(0)  加入收藏
随着移动互联网技术的快速发展,在新业务、新领域、新场景的驱动下,基于传统大型机的服务部署方式,不仅难以适应快速增长的业务需求,而且持续耗费高昂的成本,从而使得各大生产厂商...【详细内容】
2021-12-08  架构驿站    Tags:分布式系统   点击:(23)  评论:(0)  加入收藏
本系列为 Netty 学习笔记,本篇介绍总结Java NIO 网络编程。Netty 作为一个异步的、事件驱动的网络应用程序框架,也是基于NIO的客户、服务器端的编程框架。其对 Java NIO 底层...【详细内容】
2021-12-07  大数据架构师    Tags:Netty   点击:(17)  评论:(0)  加入收藏
前面谈过很多关于数字化转型,云原生,微服务方面的文章。虽然自己一直做大集团的SOA集成平台咨询规划和建设项目,但是当前传统企业数字化转型,国产化和自主可控,云原生,微服务是不...【详细内容】
2021-12-06  人月聊IT    Tags:架构   点击:(23)  评论:(0)  加入收藏
微服务看似是完美的解决方案。从理论上来说,微服务提高了开发速度,而且还可以单独扩展应用的某个部分。但实际上,微服务带有一定的隐形成本。我认为,没有亲自动手构建微服务的经历,就无法真正了解其复杂性。...【详细内容】
2021-11-26  GreekDataGuy  CSDN  Tags:单体应用   点击:(35)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条