大三时期决定由管理转行到计算机,现已经学习一年,虽然已参与过一个公司项目的实际开发,但是发现自己确实只是知道如何用,但是其中的原理了解甚微,导致遇到一个问题很是麻爪。于是,从B站中找了基础知识视频开始每天的学习,并将每天学习到的知识点总结下来,将自己的基础知识与原理打牢固,毕竟万丈高楼平地起,每天都要进步一点点。下面开始进入正题。
一、关于系统结构
系统结构包括C/S架构和B/S架构。
(1)C/S架构:Client/Server(客户端/服务器),需要安装特定的客户端软件。其优点有速度快、服务器压力小(因为软件中的数据大部分都是集成到客户端软件当中的,很少量的数据从服务器发送过来)、界面酷炫、体验好(专门的语言去实现界面的,更加灵活,且体验好)、安全等;其缺点是升级维护比较差劲(每一个客户端软件都需要升级,有一些软件不是那么容易下载,例如银行的软件)
(2)B/S架构:Browser/Server(浏览器/服务器),例如百度网页,实际上B/S架构是一个特殊的C/S架构,而这个C比较特殊,是一个固定不变的浏览器软件。其优点是升级维护方便,成本低(只需要升级服务器端即可)、不需要安装特定的客户端软件;其缺点是速度慢(需要服务器端全身心的响应数据)、体验差、不安全。
C/S架构与B/S架构没有好坏之分,只是适用的场景不同。一般娱乐性软件建议使用C/S架构,而公司内部使用的系统建议使用B/S架构。
二、B/S架构的通信原理
开发B/S结构的系统,其实就是开发网站,其实就是开发一个Web系统。
(1)WEB系统的访问过程:(当然这也是我们几乎每天都做的事情)
第一步:打开浏览器
第二步:找到地址栏
第三步:输入一个合法的网址
第四步:回车(域名解析器会将域名解析出来一个具体的IP地址和端口号,其中IP地址用于确定哪一个服务器,端口号用于确定该服务器上的哪一个软件)
第五步:在浏览器上会展示响应的结果
(2)一个WEB系统的通信原理?(通信步骤)
第一步:用户输入网址(URL)
第二步:域名解析器进行域名解析(即将域名解析为IP地址和端口号)例如"http://www.baidu.com"解析为
第三步:浏览器软件在网络中根据IP地址(110.242.68.3)搜索主机
第四步:根据端口号(80)定位这台主机上的服务器软件
第五步:80端口对应的服务器软件得知浏览器想要的资源名是:index.html
第六步:服务器软件找到index.html文件,并且将该文件的内容直接输出响应到浏览器上
第七步:浏览器接收到来自服务器的代码(HTML CSS JS)
第八步:浏览器渲染,执行HTML CSS JS代码,展示效果
这八步就是我们输入网址就能看到页面的全部步骤啦。



