web简易架构

本文深入解析WEB架构,涵盖简易拓扑图示,后端资源分类,包括静态与动态资源的区别及优化策略。详述PC端访问网页的过程,移动端资源处理方式,以及从单体架构到分布式服务框架的演变,如Dubbo和Spring Cloud微服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WEB架构

(1)简易拓扑图示:

(2)后端资源分类:

  • 静态资源:(永恒不变的资源和可变的资源)
    ①图片:一旦创建好,图片资源文件将不再改变。图片数目多,占用磁盘空间大,一般使用单独的图片服务器。优化:分布式存储/缓存策略(缓存时间可较长)
    ②HTML、CSS、JS:文本文件,前端程序员可以修改这些文件,但修改次数较少,一段时间内保持不变

  • 动态资源
    内容有后台程序动态生成,比如查询数据库后,将查询的结果生成为HTML

(3)PC端访问一个网页的过程(WEB原理)

  • ①浏览器(client):访问一个URL(例如:https://www.XXX.com/index.html) --> http请求报文header 首行 --> server加载资源,并构建响应报文
  • ②server将html文件响应给client(http响应报文正文部分) html标签和数据 --> 浏览器(解析HTML文件内容 --> 解析为DOM(document object modle --> 渲染))

==> 目前为止或者一开始仅响应html文件,浏览器第一次只发了一个请求


  • ③当浏览器在解析HTML文件内容时,发现<script src=‘index.js’> --> 此时浏览器将发起新的HTTP请求
    发现<img src=‘test.png’> --> 此时浏览器又将发起新的HTTP请求
    main.css --> http请求

==> 以上是在解析html文件内容时,浏览器再向WEB server发起的http请求,其中.js、.css、.png … 请求均为静态资源请求
==> 因此浏览器不是同时向WEB server发起诸多的资源请求的。
==> JS代码中AJAX request请求,异步请求


  https://www.XXX.com/index.jsp(动态请求) --> Tomcat --> Java --> mysql
                                               动态生成HTML内容 <--

(4)移动端

  • JS开发(now):Nodejs时代、JS开发都使用框架则对于一个小型网站,JS文件少则几万个,但是如果这些JS文件仅仅是因为使用浏览器或者APP访问一下,JS上万的文件传输至客户端? JS的这上万的文件由于相互依赖,导致一次访问需要传输上万的JS资源,(可能使用仅仅只有几千几万行代码)。目前将这上万的JS文件通过代码扫描的方式,找到使用的类和函数,将使用的资源重新打包成一个文件,然后将这一个文件下载至客户端,但是即使这样打包,一个JS文件小则1M/2M,PC端可以抗住这样的流量,但是4G流量就不一定能抗住这样的流量,因此需要提前安装APP,装APP时会将这些静态资源(JS文件)直接装在本地。因此目前在移动端,安装APP时就将静态资源放本地了(图片还是要去WEB server去请求)

  • WEB APP访问:
    ①内置了HTML和JS文件,不需要从静态WEB服务器下载JS和HTML,目的是为了减少文件的发送,现代前端开发使用的JS文件太大和太多
    ②有需要才从图片服务器请求图片

后台应用架构

WEB图示中的业务服务器

单体架构 (现在已经不适用现在的业务开发)

JSP、servlet

单体架构不管项目多么打,都打包成一个jar、war部署

服务器有开源的Tomcat、jetty。商业的有Jboss、weblogic、WebSphere、GlassFish

Dobbo

分布式服务框架

将单体程序分解成多个功能模块,模块之间使用Dubbo框架提供的高性能RPC(远程过程调用)通信

阿里开源贡献给ASF,目前已经是Apache的顶级项目

内部协调使用Zookeeper,实现服务注册、服务发现、有服务治理

spring cloud 微服务

将单体应用拆分为粒度更小的单一功能服务

RPC通信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值