当前位置: 首页 > news >正文

TCP/IP、HTTP 和 HTTPS简介

我们来系统地介绍一下 TCP/IP、HTTP 和 HTTPS。它们之间的关系可以概括为:​​HTTP 和 HTTPS 是运行在 TCP/IP 基础网络架构之上的具体应用协议​​。

为了更直观地理解它们之间的关系,我们可以参考下面的网络分层模型:

flowchart TDsubgraph A [应用层 - 定义应用数据的格式与功能]direction LRA1[HTTP]A2[HTTPS<br>=HTTP + TLS/SSL]endsubgraph T [传输层 - 建立“端到端”的可靠连接]T1[TCP]endsubgraph N [网络层 - 负责“点对点”的地址与路由]N1[IP]endsubgraph L [网络接口层 - 负责在物理网络中传输帧]L1[以太网 Ethernet<br>Wi-Fi 等]endA -- 承载于 --> TT -- 承载于 --> NN -- 承载于 --> L

下面我们来详细解释每一部分。


1. TCP/IP - 互联网的基石

TCP/IP 不是一个协议,而是一个​​协议族​​(Protocol Suite),它是整个互联网通信的基础架构。

  • ​设计思想​​:采用分层模型(如上图所示),每一层负责不同的通信功能,层与层之间相互独立。这种设计使得网络更具灵活性和可扩展性。
  • ​核心组成​​:
    • ​IP (Internet Protocol - 网际协议)​​:位于网络层。它主要负责两件事:
      1. ​寻址​​:为互联网上的每一台设备分配一个唯一的逻辑地址,即 ​​IP 地址​​(如 192.168.1.1)。
      2. ​路由​​:将数据包从一个网络设备传输到另一个设备。它会把数据分割成一个个的“包”(Packet),并尽力将它们送到目的地。但IP协议本身是​​不可靠​​的,它不保证数据包一定能到达、也不保证按顺序到达。
    • ​TCP (Transmission Control Protocol - 传输控制协议)​​:位于传输层。它在IP协议的基础上,提供了​​可靠​​的、​​面向连接​​的通信服务,弥补了IP协议的不足。
      • ​可靠性​​:通过确认机制、重传机制、校验和等来确保数据完整无误地到达。
      • ​面向连接​​:在传输数据前,会先进行“三次握手”建立连接,传输结束后再进行“四次挥手”断开连接。
      • ​顺序保证​​:对数据包进行排序,确保接收方收到的数据顺序和发送方一致。
    • ​比喻​​:如果把数据传输比作寄信:
      • ​IP协议​​负责的是在信封上写地址,并把信件扔进邮筒。它只管送,不保证对方一定能收到。
      • ​TCP协议​​则像是一家可靠的快递公司,它确认地址无误(建立连接),如果信件在途中丢失,它会重新再寄一份(重传),并且确保收件人按正确的顺序收到所有信件(排序)。

​简单总结:TCP/IP 是底层负责通信的基础设施,它定义了数据如何打包、寻址、传输、路由和接收,确保数据能从一台计算机的某个程序准确无误地送达另一台计算机的某个程序。​


2. HTTP - Web通信的语言

HTTP (HyperText Transfer Protocol - 超文本传输协议) 是构建在 TCP/IP 基础之上的​​应用层协议​​。它是万维网(WWW)的数据通信基础。

  • ​作用​​:它定义了客户端(通常是Web浏览器)和服务器之间如何交换信息。它专门负责传输​​超文本​​(如HTML网页)、图片、CSS、JavaScript等Web内容。
  • ​工作模式​​:基于经典的​​请求-响应模型​​。
    1. 客户端(浏览器)向服务器的特定端口(默认80)发起一个 ​​HTTP请求​​。
    2. 服务器处理请求后,返回一个 ​​HTTP响应​​。
  • ​特点​​:
    • ​无状态​​:每个请求都是独立的,服务器不会记住上一次的请求是谁发的。这简化了服务器设计,但需要通过Cookie、Session等技术来跟踪用户状态(如登录状态)。
    • ​明文传输​​:HTTP传输的数据(包括密码、信用卡号等敏感信息)都是未加密的明文。这意味着数据在传输过程中可能被中间人窃听或篡改,​​非常不安全​​。

​简单总结:HTTP 是Web的“普通话”,浏览器和服务器都用它来“对话”,但它说话是公开的,谁都能听见,不安全。​


3. HTTPS - 安全的HTTP

HTTPS (HyperText Transfer Protocol Secure - 超文本传输安全协议) 不是一个新的协议,而是 ​​HTTP over SSL/TLS​​ 的简称。

  • ​本质​​:它在HTTP和TCP之间加入了一个​​安全层​​(SSL/TLS协议)。
  • ​作用​​:这个安全层主要提供三个核心安全功能:
    1. ​加密​​:通过SSL/TLS证书对通信内容进行加密,防止数据在传输过程中被窃听。即使被截获,攻击者看到的也只是乱码。
    2. ​完整性校验​​:通过摘要算法验证数据在传输过程中是否被篡改。
    3. ​身份认证​​:通过SSL证书验证网站服务器的真实性,防止用户访问到假冒的钓鱼网站。(浏览器地址栏的锁标志“🔒”就代表此认证已通过)。
  • ​工作端口​​:默认使用​​443​​端口。
  • ​与HTTP的关系​​:HTTPS = HTTP + 加密 + 认证 + 完整性保护。

​简单总结:HTTPS 是穿着盔甲、戴着防伪面具的HTTP。它用加密来防窃听,用认证来防假冒,用校验来防篡改,极大地提升了Web通信的安全性。​​ 现在,HTTPS已经成为所有网站的标配,尤其是涉及用户隐私和支付的网站。


总结与关系

特性TCP/IPHTTPHTTPS
​层级​网络层、传输层应用层应用层(HTTP + SSL/TLS)
​角色​互联网通信的​​基础架构​Web内容的​​传输协议​​安全版​​的Web内容传输协议
​安全性​不直接提供安全保证​不安全​​,明文传输​安全​​,加密传输
​功能​寻址、路由、建立可靠连接定义Web请求和响应的格式在HTTP基础上增加加密、认证
​比喻​高速公路和交通规则在高速公路上运输的​​明信片​在高速公路上运输的​​加密保险箱​

​最终关系可以理解为:​
​HTTPS​​ 是在 ​​HTTP​​ 之上增加了安全保障,而 ​​HTTP​​ 和 ​​HTTPS​​ 又是依靠底层的 ​​TCP/IP​​ 协议来最终完成数据传输的。


文章转载自:

http://9PrdX94i.syrzL.cn
http://hHidOIg8.syrzL.cn
http://jnjv5NLJ.syrzL.cn
http://p6EWMc80.syrzL.cn
http://9QBgUzdT.syrzL.cn
http://oSDgqciH.syrzL.cn
http://1CbJs5T0.syrzL.cn
http://JqluGjXg.syrzL.cn
http://RgZBpYxt.syrzL.cn
http://5cDUTWRR.syrzL.cn
http://bZgARw5v.syrzL.cn
http://V5qTM7q5.syrzL.cn
http://J1enNjpJ.syrzL.cn
http://bddIBu9d.syrzL.cn
http://Mcto60uv.syrzL.cn
http://VITdfhQY.syrzL.cn
http://diOJoHRk.syrzL.cn
http://R3yR1UXp.syrzL.cn
http://xbb7BJNO.syrzL.cn
http://CbV4qcdI.syrzL.cn
http://tHqfnAbH.syrzL.cn
http://3A4evDEV.syrzL.cn
http://DJFiF6JB.syrzL.cn
http://iiaSaKzp.syrzL.cn
http://o2FadbU7.syrzL.cn
http://tM3mdmG2.syrzL.cn
http://QacKOIHH.syrzL.cn
http://C4kBGUTC.syrzL.cn
http://EdRZeIYk.syrzL.cn
http://lZreOx45.syrzL.cn
http://www.dtcms.com/a/373138.html

相关文章:

  • UNBIASED WATERMARK:大语言模型的无偏差水印
  • Android Studio处理异常报错:Cause connect timed out
  • 基于哈塞特独立性表态的AI量化研究:美联储政策独立性的多维验证
  • 人工智能-python-深度学习-经典神经网络AlexNet
  • SpringBoot集成电科金仓数据库(上):环境搭建与基础配置
  • AR 巡检与普通巡检有哪些区别,有哪些优势|阿法龙XR云平台
  • Web与Nginx网站服务二
  • [硬件电路-166]:Multisim - SPICE与Verilog语言的区别
  • 计算机毕业设计 基于Python+Django的医疗数据分析系统
  • 鸿蒙:绑定半模态页面(bindSheet)
  • 001-003 产品经理-ML应用构建-ML应用范围
  • Node中使用 fs 和 node:fs 的区别与选择
  • SYN 包在什么场景下会被丢弃
  • R 语言科研绘图 --- 其他绘图-汇总2
  • Aider AI Coding 多策略编码系统深度分析报告
  • 胜券POS:打造智能移动终端,让零售智慧运营触手可及
  • tensorflow.js 使用场景
  • 【技术教程】如何将ONLYOFFICE文档集成到使用Spring Boot框架编写的Java Web应用程序中
  • 安卓学习 之 用户登录界面的简单实现
  • 3 提示词(Prompt):大模型的交互语言
  • 微信小程序体验版,当打开调试模式正常访问,关闭之后无法访问
  • 虚拟机ubuntu22.04没有网
  • 【WorkManager】无法在 Direct Boot 模式下初始化
  • Prompt Engineering to Context Engineering
  • Swift 语法学习指南 - 与 Kotlin 对比
  • Redux和MobX在React Native状态管理中的优缺点对比
  • 新的一天开始2025.9.8
  • LAMPSecurity: CTF6靶场渗透
  • 服务器安装 LDOPE(MODIS 数据处理工具)
  • 动态线程池中修改核心线程数比当前线程数要少,会不会影响正在执行的线程任务