网络协议完整核心知识(URI/URL、HTTP/HTTPS、WebSocket、TCP/IP)
一、URI和URL核心概念与区别
1、URI(统一资源标识符)
URI 是互联网中用于唯一标识网络资源的统一字符串规范,核心作用是确定“资源是谁、是哪一个”,相当于网络资源的“身份证号”。它不局限于网络访问地址,所有能够唯一定位、命名网络资源的字符串都属于 URI 范畴,是覆盖范围极广的资源标识标准。
URI 通用标准格式:scheme:[//authority]path[?query][#fragment]
各字段详细释义:
- scheme(协议方案):定义与资源的交互规则,常见类型包含 http、https、ftp、file、mailto 等,是资源访问的基础规范。
- authority(权限主体):可选字段,包含访问用户信息、服务器主机名、端口号,用于精准定位服务主体。
- path(资源路径):服务器内部资源的具体存储路径,精准指向目标资源文件。
- query(查询参数):URL 尾部携带的动态参数,用于向服务器传递自定义请求数据。
- fragment(片段标识):页面锚点参数,用于定位网页内部指定位置,仅客户端生效,不参与服务器请求传输。
2、URL(统一资源定位符)
URL 是 URI 的子集,核心作用是定位并访问网络资源。它不仅可以标识资源身份,还携带了完整的访问协议、服务器地址、资源路径等信息,能够让客户端精准检索、请求、获取网络资源,相当于网络资源的“详细家庭住址”。
URL 是专门服务于网络访问的专属标识,必须包含协议、主机、路径等核心访问要素,是日常网页浏览、接口请求中最常用的资源格式,本文档解析失败的地址
https://www.example.com/index.html 就是标准的 URL 格式。3、URI与URL的关系与核心区别
可以通过生活化类比快速理解二者关系:URI 如同人的姓名、身份证号,仅能唯一标识个体身份,但无法获取位置信息;URL 如同详细居住地址,既可以标识个体,又能精准定位、找到对应个体。
核心差异汇总:
- 核心目的不同:URI 专注于唯一标识资源,URL 专注于定位、访问资源。
- 范围层级不同:URI 是通用总称,范围更广;URL 是 URI 的特定分支子集。
- 访问属性不同:普通 URI 不一定包含访问方式,所有 URL 都自带完整的访问协议与路径。
- 应用场景不同:URI 多用于资源唯一编号(如书籍 ISBN、文件唯一标识),URL 用于互联网资源访问。
典型示例:ISBN:978-3-16-148410-0 是纯 URI,仅标识书籍资源;
https://www.example.com/index.html 既是 URI 也是 URL。二、HTTP/HTTPS 超文本传输协议
1、超文本核心概念
超文本是打破传统线性阅读模式的新型信息组织形式,核心特点是非线性、网状关联、可交互跳转,彻底改变了人类获取网络信息的方式。
传统普通文本为线性结构,如小说、文档,必须按照固定顺序逐段阅读,信息层级固定、无法跳转。而超文本如同百科全书,文本、图片、视频等各类信息节点通过超链接相互关联,用户可根据自身需求自主跳转阅读,不受固定顺序限制。
超文本核心组成分为两部分:
- 节点:基础信息单元,包含文字、图片、视频、文件、网页等所有网络信息载体。
- 超链接:连接各个信息节点的桥梁,是超文本的核心核心,网页中可点击的高亮文字、图片按钮均为超链接。
万维网(WWW)是超文本最成熟的落地应用,每一个网页都是独立的超文本节点,无数超链接将全球网站、网页资源串联成网状结构,形成了日常的网络浏览场景。
超文本的核心价值:实现非线性自主阅读、打通全球信息关联、赋予用户信息获取主动权,是现代网页、互联网浏览的基石。
2、HTTP(超文本传输协议)
HTTP 是应用层基础网络协议,依托 TCP 协议传输,专门用于在客户端与服务器之间传输超文本资源,是网页访问、接口调用、资源请求的基础协议。
HTTP 核心特性:
- 一问一答请求响应模型:客户端主动发起请求,服务器处理后返回响应结果,单次请求完成后连接自动断开。
- 无状态协议:服务器不会记录任何客户端历史请求信息,每次请求都是独立无关联的。因此需要 Cookie、Session、Token 等技术维持用户登录、会话状态。
- 明文传输:所有传输数据均为明文,无加密处理,极易被抓包窃听、篡改,安全性较低。
- 默认端口80:HTTP 服务默认监听 80 端口,无需端口号即可直接访问。
HTTP 常用请求方式:GET(查询获取资源)、POST(提交新增数据)、PUT(更新已有资源)、DELETE(删除资源),适配 RESTful 接口设计规范。
HTTP 响应状态码分类:
- 2xx 成功态:200 OK(请求成功)、201 Created(资源创建成功)
- 3xx 重定向态:301(永久重定向)、304(资源未更新,读取缓存)
- 4xx 客户端错误:404(资源不存在)、403(权限拒绝)、400(参数错误)
- 5xx 服务端错误:500(服务器内部异常)、502(网关错误)、503(服务不可用)
HTTP 核心短板:无状态、明文不安全、无法实现实时双向通信,实时场景只能通过轮询模拟,资源消耗大、延迟高。
3、HTTPS(安全超文本传输协议)
HTTPS 是 HTTP 的安全升级版,在 HTTP 与 TCP 传输层之间新增 SSL/TLS 加密层,保留 HTTP 所有请求响应特性,同时解决了明文传输的安全漏洞,是目前网站、业务接口的主流协议。默认监听端口 443。
HTTPS 三大核心安全机制:
- 加密传输:通过 RSA、AES 等加密算法对传输数据加密,杜绝数据窃听风险。
- 身份认证:依托 CA 机构颁发的数字证书验证服务器身份,防止域名劫持、钓鱼网站伪装。
- 数据完整性保护:通过 SHA-256 等哈希算法校验数据,防止传输过程中数据被篡改、伪造。
HTTPS 完整工作流程:先通过 TCP 三次握手建立基础连接,再进行 TLS 握手协商加密算法、交换密钥,最终通过加密通道传输 HTTP 数据,全程保障通信安全。
性能优化方案:通过会话复用、密钥缓存等机制,减少 TLS 重复握手开销,弥补 HTTPS 加密带来的轻微性能损耗。HTTPS 仅优化安全能力,不改变 HTTP 无状态、请求响应的基础模型。
三、WebSocket 实时通信协议
WebSocket 是为解决 HTTP 无法实现实时双向通信的短板诞生的应用层协议,基于 TCP 实现,支持客户端与服务器全双工、长连接、低延迟实时通信,是聊天室、在线游戏、实时行情、直播弹幕、协同编辑等场景的核心协议。
1、核心特性
- 协议升级机制:初始握手依托 HTTP 协议完成,通过 Upgrade 请求头告知服务器升级协议,服务器返回 101 状态码确认切换,完成后彻底脱离 HTTP 协议,使用 WebSocket 专属通信规则。
- 全双工通信:连接建立后,客户端和服务器可随时主动发送数据,无需客户端主动请求,彻底摆脱 HTTP 一问一答的限制。
- 持久长连接:一次握手,永久保持连接,直至主动断开或网络中断,无需频繁创建销毁连接。
- 低开销低延迟:连接稳定后,数据传输仅携带极小帧头,相比 HTTP 每次请求携带完整请求头,资源消耗极低、响应速度更快。
2、协议升级请求示例
客户端发起升级请求,携带专属标识头:
GET /chat HTTP/1.1 Host: example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
服务器返回101 Switching Protocols 状态码,确认协议升级,长连接正式建立。
3、HTTP/HTTPS/WebSocket 全方位对比
协议基础:HTTP/HTTPS 为短连接无状态协议,WebSocket 为长连接有状态协议;三者均基于 TCP 传输,兼容性良好。
通信模式:HTTP/HTTPS 仅支持客户端主动请求、服务器被动响应;WebSocket 支持双向主动通信。
连接特性:HTTP/HTTPS 请求完成即断开连接,无状态不留存信息;WebSocket 一次握手持续连接,全程留存会话状态。
传输开销:HTTP/HTTPS 每次请求头部数据量大;WebSocket 连接后帧头极小,开销极低。
安全性:HTTP 明文传输不安全;HTTPS 基于 TLS 加密,安全可靠;WebSocket 原生无加密,依托 wss:// 协议实现加密安全传输。
默认端口:HTTP 80、HTTPS 443、WebSocket ws 80 / wss 443。
适用场景:HTTP/HTTPS 适配网页加载、表单提交、普通 API 调用;HTTPS 优先用于登录、支付等敏感场景;WebSocket 专属实时交互场景。
四、TCP/IP 协议族核心知识
TCP/IP 协议族是互联网通信的基础协议集合,包含 TCP、IP、UDP、ICMP 等核心协议,整体分为四层架构:网络接口层、网络层、传输层、应用层,所有网络通信均基于该协议栈完成。
1、TCP(传输控制协议)
TCP 是传输层面向连接、可靠传输协议,如同打电话,通信双方必须先建立连接,再传输数据,传输完成后断开连接,全程保障数据完整、有序、无丢失。
TCP 可靠传输核心机制:
- 三次握手建连:确认客户端与服务器双向收发能力正常,确保连接有效。
- 四次挥手断连:优雅关闭双向连接,避免数据残留、传输异常。
- 确认重传机制:接收方收到数据后返回确认报文,超时未确认则自动重传,杜绝数据丢失。
- 序列号排序:为每个数据字节编号,确保接收方按顺序重组数据,避免乱序。
- 流量控制:滑动窗口机制,匹配收发速率,防止接收缓冲区溢出。
- 拥塞控制:动态调整发送速率,避免网络拥堵、瘫痪。
适用场景:对数据完整性、准确性要求极高的场景,如网页浏览、文件传输、邮件通信、远程登录。
2、UDP(用户数据报协议)
UDP 是传输层无连接、不可靠、高速传输协议,如同寄明信片,无需提前建立连接,直接发送数据包,不保证数据必达、有序、不重复。
核心优势:无连接开销小、传输延迟极低、无需维护连接状态,支持海量并发。少量数据丢失不影响核心体验的场景下,速度优势远超 TCP。
适用场景:实时性优先于完整性的场景,如在线游戏、视频直播、语音通话、DNS 域名解析。
3、IP(网络协议)
IP 是网络层核心协议,核心作用是完成数据包的跨主机转发,负责将数据从源地址精准传输至目标地址。IP 为无连接协议,不保障传输可靠性,仅负责路由转发。主流版本分为 IPv4 和 IPv6,IPv6 解决了 IPv4 地址资源枯竭的问题。
4、ICMP(互联网控制消息协议)
ICMP 是网络层辅助协议,不传输用户业务数据,专门用于网络诊断、错误反馈、连通性检测,是网络的“信使与诊断工具”。
核心功能与场景:
- 回显请求/应答:支撑 ping 命令,检测主机连通性。
- 目的地不可达:链路异常时反馈错误信息。
- 超时消息:数据包 TTL 耗尽时触发,支撑 traceroute 路由追踪命令。
5、TCP/UDP/ICMP 核心参数对比
协议层级:TCP、UDP 属于传输层,ICMP 属于网络层;可靠性:TCP 完全可靠,UDP、ICMP 尽最大努力交付,无可靠性保障;连接特性:TCP 面向有连接,UDP、ICMP 无连接;开销:TCP 头部最大、UDP 最小、ICMP 按需适配;速率:UDP 最快、TCP 最慢;核心应用分别对应精准传输、实时传输、网络诊断。
五、全文总结与场景选型
网络通信遵循清晰的层级逻辑:TCP/IP 协议栈是底层通信基石,保障数据跨主机传输;HTTP/HTTPS 是常规业务核心协议,适配网页访问、接口请求,其中 HTTPS 是生产环境安全首选;WebSocket 补足实时通信短板,适配双向实时交互场景;URI/URL 作为资源标识规范,定义了全网资源的命名与访问规则。
场景选型准则:常规网页浏览、表单提交、普通接口使用 HTTPS;实时聊天、行情推送、直播弹幕使用 WebSocket;文件传输、网页加载用 TCP;游戏、直播、语音用 UDP;网络故障排查、连通性检测用 ICMP。多协议协同配合,构成了完整的互联网网络通信体系。
所属版权:JSON工具 JSON工具
原文路径:
转载声明:转载时必须以链接形式注明原始出处及本声明。