
脉脉上一条后端开发面试讨论因为一句“差个 s”引发了很多评论。原帖本身是一个面试段子但对准备后端面试的程序员来说它对应的是一道很常见的基础题HTTP 和 HTTPS 到底差在哪里本文先给结论不要只回答“HTTPS 多了一个 s”至少要讲清明文传输、TLS、证书、端口和风险边界。想看原帖和评论区的真实回答可以先看点击查看脉脉原帖。1. 面试官真正想考什么原帖称面试官问“http 和 https 有什么差别”发帖人回答“差个 s”面试官没有继续说下去。评论区有人提到 80 端口、443 端口、明文传输和 SSL/TLS也有人把问题理解成“多了一层安全机制”。这些内容来自用户讨论不代表具体面试官的正式评价但它很适合用来拆解面试意图。这道题通常不是考你能不能背出一个全称而是看你能不能把协议差异和实际风险连接起来。一个合格回答应该覆盖四层HTTP 通常以明文方式传输应用层数据HTTPS 是在 HTTP 之下增加 TLS 保护。默认端口不同HTTP 常见 80HTTPS 常见 443但端口本身不是安全性的来源。HTTPS 通过证书和 TLS 握手协商加密参数并验证服务端身份。HTTPS 不能自动解决所有业务安全问题服务器漏洞、权限设计和前端逻辑仍然需要单独处理。2. HTTP 和 HTTPS 的核心差异对比项HTTPHTTPS默认端口80443传输保护默认明文通过 TLS 加密传输身份校验不负责证明服务端身份通过证书链校验服务端身份主要风险被窃听、篡改、劫持能降低传输层窃听和篡改风险性能成本较低有握手和加解密成本现代系统通常可接受解决范围只负责请求和响应增加传输保护不替代业务鉴权这里有一个容易被追问的点HTTPS 并不是一种完全不同的业务协议。更准确地说HTTPS 可以理解为 HTTP over TLS。HTTP 负责请求方法、状态码、请求头和响应体TLS 负责建立受保护的传输通道。3. TLS 握手应该怎么讲面试时不需要把每个密码套件都背出来但应该能描述基本流程客户端发起连接告诉服务端自己支持的 TLS 版本、密码套件等信息。服务端返回证书和协商结果证书通常包含域名、公钥和签发信息。客户端校验证书是否可信、是否过期、域名是否匹配。双方通过密钥协商得到会话密钥后续 HTTP 数据使用对称加密传输。为什么不直接用非对称加密加密所有数据因为非对称加密适合身份认证和密钥协商但大量数据传输时成本更高。实际通信通常是先用非对称机制完成身份确认和密钥协商再用对称加密处理后续数据。这也是“HTTPS 多了一个 s”没有答到点上的原因字母只是记忆入口面试官要听的是安全目标和实现链路。4. 用 curl 做一个最小验证准备后端面试时可以用命令观察 HTTP 和 HTTPS 的行为差异。下面的命令只用于查看响应头不代表对目标站点做压力测试curl-Ihttp://example.comcurl-Ihttps://example.comcurl-vhttps://example.com-I用来查看响应头-v可以看到连接过程中的更多信息。实际站点可能把 HTTP 重定向到 HTTPS也可能使用代理、CDN 或其他网关所以不要把一次命令输出当成所有系统的统一规则。排查 HTTPS 问题时可以按这个顺序现象优先检查浏览器提示证书错误域名匹配、证书有效期、证书链HTTP 能访问HTTPS 超时443 监听、防火墙、负载均衡配置HTTPS 能连但接口报错TLS 终止位置、反向代理、后端转发协议页面仍提示不安全混合内容、图片或脚本是否仍走 HTTP客户端握手失败TLS 版本、密码套件、系统证书库5. 面试回答模板和追问可以把答案压缩成一段 30 秒版本HTTP 默认通过 80 端口传输数据本身不提供加密和完整性保护HTTPS 可以理解为 HTTP 加 TLS通常使用 443 端口。客户端会通过证书校验服务端身份再协商会话密钥对后续数据进行加密传输。它主要解决传输过程中的窃听、篡改和身份冒用风险但不能替代业务鉴权和服务器安全治理。回答之后面试官可能继续追问证书过期会发生什么客户端为什么会拒绝TLS 握手为什么需要非对称加密和对称加密配合HTTP 强制跳转 HTTPS 能不能防止第一次请求被劫持HTTPS 已经加密了为什么还要做接口鉴权网关终止 TLS 后网关到后端是否还需要加密这些问题的共同点是从协议概念继续追到部署和风险边界。准备后端、网关、基础架构岗位时建议把每个答案都落到“谁验证谁、哪一段被保护、哪一段仍然暴露”。6. 去哪里验证自己的回答单条帖子不能代表一场面试的全部标准。你可以在脉脉继续看这条讨论的评论比较不同后端开发对 TLS、证书和网关的解释也可以在脉脉搜索后端开发、Java、Go、基础架构等岗位结合岗位描述判断面试更重协议基础、服务治理还是业务开发。若准备投递找现员工或前员工沟通面试轮次和技术栈比只背一份题库更有价值。最后记住HTTP/HTTPS 这道题的高分答案不是把“s”解释成一个字母而是能把加密、认证、完整性和业务边界讲成一条清晰的链路。这样无论面试官继续问证书、TLS 握手还是问网关部署你都能接得住。