基本通信架构
CS架构(Client客户端/Server服务端)
client客户端 ---------------- Server服务端
Client客户端:
-
由程序员开发实现,客户端下载并且提供软件的运行(微信,qq,永结....)
-
及时更新与服务端保持同步。
-
客户端软件通常提供用户友好的界面,使得用户可以方便地与服务端进行交互。
-
客户端软件可以在各种设备上运行,如个人电脑、手机、平板电脑等。
-
客户端软件通常需要处理用户输入,并将其转换为服务端可以理解的请求。
Server服务端:
-
由程序员开发实现。
-
服务端通常运行在高性能的服务器上,处理来自各个客户端的请求。
-
服务端负责处理业务逻辑,如数据处理、存储、检索等。
-
服务端需要能够处理并发请求,即同时处理来自多个客户端的请求。
-
服务端需要具有良好的安全性,防止数据泄露或被恶意攻击。
B/S架构(Browser浏览器/Server服务器)
client客户端 ---------------- Browser浏览器 ----------------Server服务端
Client客户端:
-
网络连接和浏览器: 客户端主要需要提供网络连接功能,以便用户能够通过浏览器访问和使用应用程序。无需安装额外的应用程序,用户只需打开浏览器即可。
Browser浏览器:
-
用于访问应用程序: 浏览器是客户端的主要界面,用户通过浏览器访问应用程序的网页界面。可以使用常见的浏览器,如Chrome、Firefox、Safari等,或者在移动设备上使用内置的浏览器。
Server服务端:
-
Web服务器: 服务端需要提供Web服务器,以便响应客户端浏览器的请求,并提供相应的网页内容和功能。常见的Web服务器包括Apache、Nginx等。
-
应用程序后端: 服务端需要实现应用程序的后端逻辑,包括处理客户端请求、与数据库交互、业务逻辑处理等。可以使用各种后端技术和框架,如Node.js、Django、Spring Boot等。
-
数据存储: 服务端需要使用数据库或其他持久化存储方式,存储用户数据、应用程序状态等信息。常见的数据库包括MySQL、PostgreSQL、MongoDB等。
-
安全性和性能优化: 与传统客户端/服务器架构相似,服务端需要考虑安全性和性能优化,保护用户数据安全,提高系统的并发处理能力和性能稳定性。
基于浏览器的客户端和服务端开发通常采用Web开发技术,包括HTML、CSS、JavaScript等前端技术,以及各种后端技术和框架。通过Web开发,可以实现跨平台、跨设备的应用程序,并且用户无需安装任何额外的软件,只需打开浏览器即可使用。并且一定是当前最新的版本 .
网络通信三要素
ip地址
-
每个主机的唯一标识符
-
ipv4:32位二进制,分四段 每段8位 点(.)分十进制
-
ipv6:128位二进制,分八段 每段16位 冒(:)分十六进制
-
网页用的是域名,然后通过dns服务器来确定IP
-
公网IP,私网ip,专用ip,保留ip,回送IP(本地回环地址 127.0.0.1)
-
全0地址(通配符地址 0.0.0.0),广播地址(255.255.255.255),多播地址,APIPA
端口
-
每个程序的唯一标识符
-
当IP找到主机时,端口用于确定程序。从而实现程序的交流
-
16位的二进制 (0 - 65535)
-
专用/周知 端口(0 - 1023) 如 HTTP:80 FTP:21
-
注册端口(1024 - 49151) ,分配给任务程序的。指定的
-
动态端口(49152 - 65535),动态分配给任务程序,随机的。
协议
-
TCP(Transmission ControlProtocol)
-
传输控制协议
-
连接,可靠
-
-
UDP(User Dataaram Protocol)
-
用户数据报协议
-
无连接,不可靠。
-