新闻详情

新闻详情

首页 / 资讯中心 / 详情

Socket 和 HTTP,其实是上下级关系

发布时间:2026/11/12 16:00:21来源:尧图网络
Socket 和 HTTP,其实是上下级关系
一句话说清Socket 是「打电话的功能」。HTTP 是「打电话时说话的规矩」。它们不是二选一。你用 HTTP底下一定在用 Socket。一、先看一个画面想象你要给客服打电话① 拿起电话拨号接通 ← ★ 这是 Socket 干的事 ② 说你好我要查订单 123 ← ★ 这是 HTTP 干的事电话本身不管你说什么。你可以说中文、说英文、甚至唱歌电话都能传过去。但如果双方没有约定好怎么说话就会乱套。HTTP 就是那个约定先说你好我要办什么事请求行再说我是谁、我要什么格式请求头最后说具体内容请求体二、Socket 到底给了你什么就四个动作连接 → 发字节 → 收字节 → 断开注意字节两个字。Socket 不知道你发的是文字、图片还是什么。它就是一根管子你往里倒东西对方接住。三、⭐ Socket 最大的坑它不分段这是最重要的一点看懂这个就够了。你连着发了三句话发送方 你好 在吗 急你以为对方会收到三句。实际可能是情况① 你好在吗急 ← ★ 三句粘成一句 情况② 你好在 吗急 ← ★ 从中间切开了 情况③ 你 好在吗 急 ← ★ 随便切为什么因为 TCP 只保证“你倒进去多少水对方接到多少水”。但你分几次倒的这个信息它不记录。发送方 ──→ [ 一根水管 ] ──→ 接收方 ★ 水都到了一滴不少 ★ 但这是第几杯就不知道了所以你必须自己想办法标记最常用的办法先说长度。发之前先说这条消息有 6 个字节 然后发 你好在吗 对方先读长度 → 知道要读 6 个 → 精确读 6 个 → ✅ 一条完整消息HTTP 也是这么干的Content-Length: 27 ← ★ 先告诉你正文有 27 字节四、HTTP 帮你省了什么如果你只用 Socket下面这些全部要自己写事情自己写 Socket用 HTTP一条消息到哪结束⭐ 自己设计✅ 自带这次回的是哪个请求⭐ 自己编号配对✅ 自带出错了怎么表示⭐ 自己定义错误码✅ 404、500数据是什么格式⭐ 自己约定✅ Content-Type要不要压缩⭐ 自己做✅ 自动协商断线了怎么办⭐ 自己重连✅ 库帮你做还有一个最容易被忽略的★ 全世界的工具都懂 HTTP Postman 能测 Charles 能抓包 Nginx 能转发 CDN 能缓存 ★ 你自己发明的协议这些一个都用不了五、HTTPS 又是什么就是 HTTP 外面套了一层保护膜。HTTP 明信片 ← 快递员能看到内容 HTTPS 密封信封 ← 只有收件人能拆这层膜叫 TLS做三件事① 加密 ★ 别人看不懂 ② 防篡改 ★ 中途被改了能发现 ③ 验身份 ★ 确认对面真的是淘宝不是假冒的第三点最容易被忽略。光加密没用——骗子也可以跟你建立加密连接。证书就是用来证明我真的是淘宝的身份证。六、什么时候用哪个【绝大多数情况】用 HTTP 写接口、App 后端、对接第三方 → ★ 别折腾HTTP 够用而且省事 【需要服务器主动推消息】用 WebSocket 聊天、通知、实时数据 → ★ 它是能过防火墙的 Socket最佳折中 【实在受不了 HTTP 的开销】才用原始 Socket 游戏每秒几十条同步、股票行情 → ★ HTTP 一个请求几百字节自定义协议只要十几字节七、一个对比感受一下查一个用户信息【HTTP】发出去的内容 GET /api/user/123 HTTP/1.1 Host: api.example.com User-Agent: Mozilla/5.0 ... Accept: application/json Authorization: Bearer eyJhbGc... 还有好几行 ★ 大约 500 字节 【自定义 Socket 协议】 [长度4字节][命令号2字节][用户ID 4字节] ★ 10 字节差 50 倍。但代价是那 500 字节里的每一个信息自定义协议都得你自己想办法表达。而且没有任何现成工具能看懂你的 10 个字节。八、三个常见误解误解真相“Socket 是长连接HTTP 是短连接”❌ HTTP 默认就是长连接“Socket 比 HTTP 快”❌ 底层都是 TCP快的是包更小“Socket 和 HTTP 二选一”❌ ⭐HTTP 就是跑在 Socket 上的记住这三句就行一、HTTP 是跑在 Socket 上面的不是并列的东西。二、Socket 只给你字节流一条消息从哪到哪要你自己定。三、99% 的场景用 HTTP需要推送用 WebSocket实在嫌慢才用裸 Socket。最后一句很多人自己写 Socket 协议写着写着会加上消息长度“消息类型”“请求编号”“错误码”……★ 等全加完你会发现自己造了一个难用版的 HTTP。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/11 13:52:51

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/10 19:42:40

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/12 9:50:02

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/12 9:25:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/12 15:57:44

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/10 17:14:10

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉