常用web架构及JavaWeb介绍

216 阅读3分钟

C/S架构和B/S架构

C/S架构

  • Client/Server(客户端/服务端)架构
  • C/S架构的特点:需要安装特定的客户端软件才能使用
  • C/S架构软件和系统有哪些?
    • QQ和LOL

B/S架构

  • Browser/Server(浏览器/服务端)架构
  • B/S架构的特点:通过浏览器访问服务端
  • B/S的系统有哪些?

B/S是一个特殊的C/S , Client是一个固定的浏览器

C/S架构的优缺点

  • 优点:
    • 速度快(大量数据集成在客户端,只有少量数据需要从服务器传输)
    • 界面好看(资源集成在本地客户端,便于渲染。有专门的语言开发)
    • 体验好(速度快、界面酷炫、体验自然好)
    • 服务器压力小(大量数据集成在客户端,只有少量数据需要从服务器传输)
  • 缺点:
    • 需要安装特定软件后才可以使用
    • 升级维护麻烦

B/S架构的优缺点

  • 优点:
    • 不需要安装特定的客户端软件,只需要打开浏览器,使用方便
    • 升级维护方便,成本低(只需要升级服务端)
  • 缺点:
    • 速度慢(需要与服务器传输大量数据)
    • 体验没那么好(速度慢,界面没那么好看)

C/S架构和B/S架构哪个好?

不同架构适用不同场景

  • C/S架构的使用场景
    • 娱乐性质的软件,大型游戏等。追求极致体验。
  • B/S架构的使用场景
    • 如果不是一定要有C/S的场景,都可以用B/S。因为B/S架构成本更低,使用更方便。

微信小程序是C/S还是B/S?

微信小程序采用的是C/S(Client/Server)架构。在微信小程序中,客户端部分运行在用户的移动设备上,而服务端部分运行在微信服务器上。客户端通过微信客户端与服务器进行通信,获取数据和业务逻辑的支持。因此,微信小程序的架构是基于客户端和服务器之间的交互,属于C/S架构。(来自ChatGPT)

B/S架构网络通信

访问WEB系统的过程

  • 第一步:打开浏览器
  • 第二步:在地址栏输入网址并回车
  • 第三步:浏览器上展示内容
  • 当我们访问 www.baidu.com 时,实际上我们在访问什么?
    • IP + port + 资源
      • IP:互联网上一台计算机的身份证
      • port(端口):一台计算机上一个应用的唯一标志

image.png

访问WEB系统的过程(详细)

  • 第一步:在浏览器输入地址并回车
  • 第二步:DNS(域名解析器)进行域名解析并返回IP地址
  • 第三步:浏览器在网络中根据IP地址搜索服务器主机,向服务器发起请求
  • 第四步:服务器接收请求后,交给端口对应的应用处理请求
  • 第五步:应用找到对应的资源后,将资源中的内容返回给浏览器
  • 第六步:浏览器解析服务器返回的代码,渲染并展示

image.png

常用的Web服务器软件 - Tomcat

  • 是一个免费的开源 Web 应用服务器
  • 属于轻量级应用服务器
  • 在并发访问用户不是很多的场合下被普遍使用

Servlet是什么?

  • (尤指 Java 语言中在服务器上运行的)小型应用程序
  • Sun公司定义的规范
  • 具体体现是Sun公司定义的一个接口
  • Web服务器和JavaWeb应用共同依赖这个规范,相互之间不依赖(解耦合)
  • 目的就是为了让JavaWeb应用和Web服务器之间解耦合 (重点)
  • Web应用开发团队实现Servlet接口
  • Web服务器支持Servlet接口

接口可以解耦合(面向接口编程的原因)

B/S架构的角色与协议

image.png