OSI七层模型

本文详细介绍了OSI七层模型,包括应用层的HTTP和HTTPS协议,解析了HTTP的状态码、HTTPS的加密过程以及DNS域名解析过程。此外,还探讨了传输层的TCP和UDP,强调了它们在连接、可靠性和速度方面的区别。同时,解释了TCP的三次握手和四次挥手,以及TCP如何保证可靠传输的相关机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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连接,无法复用
长连接:建立连接后保持连接,可以被多个请求复用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值