系统架构
B/S架构
1、Browser / Server (浏览器 / 服务器)
2、B/S结构的系统是一个特殊的C/S结构,只不过Client是一个固定不变的浏览器软件。
3、优点:
(1)升级维护方便,成本比较低。(只要升级服务器端即可)
(2)不需要安装特定的客户端软件,用户操作极其方便。只需要打开浏览器,输入网址即可。
4、缺点:
(1)速度慢【所有的数据都是在服务器上,用户发送的每一个请求都是需要服务器响应数据,所以B/S结构的系统在网络中传送的数据量比较大】
(2)体验差【界面不是那么酷炫,因为浏览器只支持三个语言HTML、CSS、JavaScript,速度慢】
(3)不安全【所有数据都在服务器上,服务器出现问题(火灾、地震),最终会导致数据丢失。】
B/S系统通信原理
1、Web系统的访问过程
(1)第一步:打开浏览器
(2)第二步:找到地址栏
(3)第三步:输入一个合法的网址
(4)第四步:回车
(5)第五步:在浏览器上展示响应的结果
2、关于域名:
例如一个网址:https://www.baidu.com/
(1)www.baidu.com是一个域名,在浏览器上输入域名,回车之后,域名解析器会将域名解析出一个具体的IP地址和端口号等。
3、Web系统的通信原理
(1)用户输入网址(URL)。
(2)域名解析器进行域名解析:http://110.242.68.3:80/index.html。
(3)浏览器软件在网络中搜索110.242.68.3这一台主机,直到找到这台主机。
(4)定位110.242.68.3这台主机上的服务器软件,因为是80端口,定位到80端口对应的服务器软件。
(5)80端口对应的服务器软件得知浏览器请求的资源名是:index.html。
(6)服务器软件找到index.html文件,并且将index.html文件中的内容响应到浏览器上。
(7)浏览器接收到来自服务器的代码(HTML CSS JS)。
(8)浏览器渲染,执行HTML、CSS、JS代码,展示效果。
B/S结构系统的角色和协议
对于一个动态的Web应用来说,一个请求和响应的过程有多少个角色参与,角色与角色之间有多少协议?
角色:
(1)浏览器软件的开发商:谷歌、火狐、IE
(2)WebServer开发团队:Tomcat、Jetty、WebLogic、JBOSS、WebSphere
(3)DB Server的开发团队:Oracle、MySQL、SQL Server
(4)webapp开发团队(Web应用是javaWeb程序员开发的)
协议:
(1)webapp的开发团队和WEB Server的开发团队之间有一套规范:JavaEE之一Servlet规范【Servlet规范作用:WEB Server和webapp解耦合,SUN公司制订】
(2)Browser和WebServer之间有一套传输协议:HTTP协议【超文本传输协议,W3C制定】
(3)webapp和DB Server之间:JDBC规范【SUN公司制订】
C/S架
1、Client / Server (客户端 / 服务器)
2、C/S架构的系统例子:QQ、微信、客户端游戏....
3、特点:需要安装特定的客户端软件
4、优点:速度快、体验好、界面炫酷、服务器压力小、安全
5、缺点:
(1)升级维护比较差。【升级维护比较麻烦,每一个客户端软件都需要软件,有一些软件不是那么容易升级的】
关于WEB服务器软件
WEB服务器软件有哪些
(1)TomCat(WEB服务器)
(2)jetty(WEB服务器)
(3)JBOSS(应用服务器)
(4)WebLogic(应用服务器)
(5)WebSphere(应用服务器)
应用服务器和WEB服务器的关系
(1)应用服务器实现了JavaEE的所有规范。(JavaEE有13个不同的规范)
(2)WEB服务器只实现JavaEE中的Servlet和JSP两个核心的规范。
(3)通过这个讲解说明了:应用服务器是包含WEB服务器的。
(4)JBOSS中内嵌了一个TomCat服务器。