OSI七层模型

OSI七层

OSI 模型把网络通信的工作分为 7 层,从下到上分别是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

  • 应用层:用户与计算机交互的接口
  • 表示层:将逻辑语言(软件语言)转换为机器语言(二进制)。进行数据处理(编码解码,加密解密)
  • 会话层:管理 (建立、维护、重连)传输的每一种数据(流量) 的通信会话
  • 传输层:负责向两台主机进程之间的通信提供通用的数据传输服务(TCP/UDP)
  • 网络层:数据路由(决定数据在网络中的路径)
  • 数据链路层:管理相邻结点之间的数据通信
  • 物理层:实现相邻计算机节点之间比特流的透明传送

应用层 详解

HTTP

HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」

概述

HTTP 是一个在计算机中专门在两点 之间传输文字、图片、音频、视频等「超文本」数据的「约定和规范」。

可以说HTTP是用于从互联网服务器传输超文本到本地浏览器or两台服务器之间互相传输超文本的协议

HTTP优缺点

优点

  1. 简单

    报文格式:header + body,头部信息是key-value存储,易于理解

  2. 灵活、易于扩展

    请求方法、URL、状态码、头字段等不是固定的几个,允许开发者自定义和扩展

  3. 应用广泛、跨平台

缺点

  1. 无状态

    • 好处:不需要使用额外空间来记录状态信息,减轻了服务器负担

    • 坏处:不记忆状态,服务器无法判断用户身份。

    ​ 完成关联操作会很麻烦,不知道那些请求是相互关联的

    ​ 如登录–加购–下单–支付这一系列步骤,是同一个用户来操作的,每次请求都需要获取一次身份信息

    ​ 可以使用cookie来解决,cookie是包含用户信息的本地浏览器的文件,需要保存用户的省份信息的话,响应给浏览器一个cookie,后面再请求这个网站,将请求信息和cookie一起发送,服务器就能辨识用户的身份

  2. 明文传输:明文传输虽然方便阅读,但是将所有信息裸露在外,容易被窃取

  3. 不安全

    • 通信使用明文,信息可能被窃取
    • 不验证对方身份,可能遇到假冒网站
    • 无法证明报文的完整性,可能报文被恶意修改,植入广告

HTTP常见状态码

状态码类别

类别 含义
1XX 提示信息,服务器收到了请求,需要用户继续执行操作
2XX 成功,请求被接收并处理完成
3XX 重定向,资源位置发生变动,需要客户端重写发送请求
4XX 客户端错误,请求报文错误,无法处理
5XX 服务器错误,请求时,服务器内部发生错误

常见状态码

  • 200:请求成功 ,非HEAD请求,服务器返回的响应头会有body数据
  • 204:与200相同,但费HEAD请求,响应头没有body数据
  • 301:永久重定向,请求的资源不存在,需要使用新的URL重新访问
  • 302:临时重定向,请求的资源在,暂时需要使用其他URL访问
  • 304:缓存重定向,不跳转,重定向已存在的缓存文件
  • 400:表示客户端请求的报文有错误,没有具体定位错误
  • 403:服务器禁止访问资源,不是请求错误
  • 404:请求的资源不存在 or 找不到
  • 500:服务器内部发生错误,但没有具体定位
  • 501:请求的功能不支持
  • 502:服务器本身正常,访问后端服务器发生错误
  • 503:服务器很忙,暂时无法响应

HTTP与HTTPS的区别

  1. HTTP:超文本传输协议,明文传输,存在安全问题。HTTPS解决了HTTP的缺点,能够加密传输<-在TCP和HTTP之间加入了SSL/TLS协议
  2. HTTP建立连接相对简单:TCP三次握手之后就可以进行报文传输。HTTPS在三次握手后,还需进行SSL/TLS的握手,才能进行报文传输
  3. HTTP是80端口;HTTPS是443端口
  4. HTTPS需要申请数字证书,来保证服务器的身份是可信的
  5. HTTP协议的URL以http://开始,HTTPS的URL以https://开始

HTTP存在的问题,以及HTTPS是如何解决的?

HTTP是明文传输,所以存在一些安全问题

  • 窃听风险:通信链路上可以获取通信内容
  • 篡改风险:强制植入广告、病毒
  • 冒充风险:假冒网购平台

HTTPS在TCP与HTTP之间加入了SSL/TLS协议,解决了这些问题

HTTPS 是如何解决上面的三个风险的?

  • 混合加密解决了窃听风险
  • 摘要算法解决了篡改风险
  • 数字证书,解决了冒充风险

HTTP 1.0、HTTP 1.1及HTTP 2.0的主要区别

短连接:每次请求都建立TCP连接,无法复用
长连接:建立连接后保持连接,

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
理解OSI七层模型可以通过以下几个方法: 一:快速理解OSI七层模型 可以通过举例来直观理解每一层的功能。比如,我们可以将这七层模型直接套用到一个实际的场景,通过分析每一层的作用,来理解其在数据传输的具体功能。 二:了解数据传输过程,更快理解OSI 可以通过观察图表,了解每一层传输的数据单元以及数据是如何封装和解封装的。这样可以更加直观地理解每一层在数据传输所起的作用。 三:深入理解OSI七层模型 可以逐层深入理解每一层的功能: - 物理层:负责传输原始比特流; - 数据链路层:负责将原始比特流组织成帧并进行错误检测和纠正; - 网络层:负责数据包的路由和寻址; - 传输层:负责可靠的端到端数据传输; - 会话层:负责建立、管理和终止会话; - 表示层:负责数据的格式化和编解码; - 应用层:提供特定应用程序访问网络的接口。 四:了解OSI七层模型的历史 了解OSI七层模型的发展历史可以帮助我们更好地理解其背后的需求和目的。比如,OSI七层模型的出现是为了解决不同厂商的网络设备之间的互操作性问题,并提供一个标准的参考模型。 综上所述,你可以通过快速举例、了解数据传输过程、深入理解每一层的功能以及了解OSI七层模型的历史来更好地理解OSI七层模型。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [快速理解OSI七层模型(举例理解,数据传输过程,深入理解OSI七层模型)](https://blog.csdn.net/CN_TangZheng/article/details/102476750)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值