为什么需要网络协议

在没有网络协议的阶段,公司有自己的标准,而不同公司、网页之间请求响应不能互通,要适应繁多不同的规范,非常的混乱。

当制定了统一的规范之后,每个公司、产品都遵循同样的协议,客户端请求、服务端相应都以一定的标准来进行通信,会更加有秩序。

而目前有很多的网络协议,包括 HTTPSMTPFTPRTMPMQTT 等,每一种协议都有其特定的作用,比如机器向电脑请求资源,如图片、字体、文本,常用 HTTP 协议,而机器向电脑上传、修改文件使用 FTP 协议更为合适。

服务器及服务器软件

服务器也是电脑,对于显卡没什么要求,但是对于内存、硬盘、散热等要求很高。

端口号就类似于营业厅的办事窗口,可能有:80、3306、8080 等,每个端口都需要服务器软件 来操作,服务器软件占用端口,监听客户端的请求,当数据发送到给指定的端口时,后端如Java对客户端发送的数据进行处理(如查数据库),再通过同一端口将响应数据传输过去。

服务器的7001端口部署了项目名为 helloWorld 的项目,那么他的地址是这样访问的。
协议:// IP地址:端口号/项目名 也许看起来是这样的 http://10.1.2.3:7001/helloWorld

访问本地服务IP地址可使用 127.0.0.1localhost,或者通过 ipconfig 查询 IPv4 地址

跨平台原理

跨平台表示同样一份代码可以分别运行在 windows、mac、Linux 上,C++Java 就使用的不同方式。

C++:使用平台相关的编译器生成对应平台的可执行文件。

Java:编译生成和平台无关的字节码文件(.class),在不同平台安装并使用 JVM解析字节码为机器指令

客户端与服务器请求

如果使用 Java 作为后端的话,他的服务器软件是 Tomcat,而 Tomcat 也是用 Java 语言编写的, Java 跨平台依赖于 JVM,客户端与服务器的交互类似于图示。

网络互连模型

OSI 参考模型 是 ISO 公司提出的理论知识,并不具备实际应用。

在真实使用中真正得到认可的是 TCP/IP 协议,学习的时候会把【网络接口层】还原成【数据链路层】和【物理层】,因为这两层关乎通信原理,非常重要。

客户端传输数据到服务器,首先从应用层到物理层,每到一层都要进行包装(加一些数据),通过传输介质(wifi/网线)传递到服务器的物理层。

从服务器的物理层到应用层,每一层都要拆掉一部分内容,最后应用层的数据给 tomcat,处理后再一层层返回给客户端。

以上就是 网络协议的部分概念 , 更多有关 前端网络协议 的内容可以参考我其它的博文,持续更新中~


一颗冰淇淋
170 声望18 粉丝

开心学前端 : )