后端工程师,老师教的七层网络模型你用在了哪里?

简介: 计算机网络算是计算机课里公认比较难的课之一。OSI七层网络模型,这个词估计大部分人都还记得,但还能完全的背出具体都有哪些层吗?更不用说每层具体的含义,我是有点模糊了。除了具体的开发语言,数据结构和算法算是平时用到比较多的课程了。 都说学以致用,那么这个网络模型对于我们实际工作中有什么用途呢?比如我写了个web页面,或者一个Restful API,这和七层网络模型是怎么对应的呢? 首先从我们熟悉的请求处理过程开始。

3.3 HTTP报文样式

一个http请求可以分为请求地址和请求方法,请求头和请求体。如下图所示

65.png

这是已POST请求的例子,请求体中的⑤请求内容是一段JSON,目的是新建一个用户。


请求头是由一些key-value组成的集合,常见的元素有请求的长度、③请求内容格式和④期望的返回结果格式等。


③请求内容格式注明了当前请求体中的内容的格式,本例是JSON。


④期望的返回结果格式,告诉服务器,自己期望返回JSON格式的内容。服务器端如果支持多种格式的返回,例如支持JSON、XML等,这里可以根据客户端的期望返回对应的格式。所以这里只是期望,服务器如果不支持,还是有可能返回其他格式的响应数据。


响应结果也分为头和体两部分,大概结构如下图:


66.png

响应头部主要包括HTTP协议的版本、状态码、响应内容的格式等,响应体一般为响应的具体内容。


所以,后端服务器就是实现了接收HTTP请求并进行处理,然后返回相应结果的功能。而后端服务一般由HTTP服务器(IIS、Apache、Tomcat等,Tomcat比较特殊,既实现了HTTP服务器的功能,又实现了servlet容器的功能。)+处理程序组成。

3.4 HTTPS

HTTPS不是一种新协议。而是 HTTP 通信接口部分用 SSL和 TLS协议代替而已。

在上文中,HTTP 直接和 TCP 通信。当使用HTTPS时,中间加了一层SSL,需要先和 SSL通信,再由 SSL和 TCP 通信了。

大概的区别如下图:


67.png

具体HTTPS相关的知识比较多,就不在此赘述了。

4.参考资料:

《计算机网络》《图解HTTP》

目录
相关文章
|
1天前
|
存储 Prometheus 监控
|
2天前
|
边缘计算 运维 5G
|
1天前
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
15 9
|
3天前
|
网络架构
OSI网络七层模型
OSI网络七层模型
|
3天前
|
网络协议 程序员 定位技术
学习网络的第一步:全面解析OSI与TCP/IP模型
**网络基础知识概览:** 探索网络通信的关键模型——OSI七层模型和TCP/IP五层模型。OSI模型(物理、数据链路、网络、传输、会话、表示、应用层)提供理论框架,而TCP/IP模型(物理、数据链路、网络、传输、应用层)更为实际,合并了会话、表示和应用层。两者帮助理解数据在网络中的传输过程,为网络设计和管理提供理论支持。了解这些模型,如同在复杂的网络世界中持有了地图。
9 2
|
3天前
|
网络协议 网络性能优化 调度
|
6天前
|
监控 前端开发 关系型数据库
|
5天前
|
机器学习/深度学习 数据采集 算法
Python实现人工神经网络回归模型(MLPRegressor算法)并基于网格搜索(GridSearchCV)进行优化项目实战
Python实现人工神经网络回归模型(MLPRegressor算法)并基于网格搜索(GridSearchCV)进行优化项目实战
|
6天前
|
机器学习/深度学习 数据采集 算法
Python基于卷积神经网络CNN模型和VGG16模型进行图片识别项目实战
Python基于卷积神经网络CNN模型和VGG16模型进行图片识别项目实战
|
6天前
|
机器学习/深度学习 数据采集 数据挖掘
Python实现循环神经网络RNN-LSTM回归模型项目实战(股票价格预测)
Python实现循环神经网络RNN-LSTM回归模型项目实战(股票价格预测)