面试题库 词条目录
前端Wiki/词条/HTTP 与 HTTPS

HTTP 与 HTTPS

定义HTTP 与其加密版本 HTTPS 的区别,面试必考的网络协议基础题

HTTP 是明文传输的超文本传输协议,数据在中间节点可以被直接读取和篡改,存在窃听、篡改和伪造三种风险。HTTPS 在 HTTP 与 TCP 之间加入 TLS(或早期的 SSL)层,通过非对称加密协商会话密钥、对称加密传输内容、数字证书验证服务端身份,同时解决机密性、完整性与身份认证。

对比维度要答全:端口(80 对 443)、是否加密、证书成本、连接建立开销(HTTPS 多一次 TLS 握手)。延伸考点是 TLS 握手过程与 HTTPS 对性能的影响,可结合 HTTP/2 默认要求 HTTPS、以及搜索引擎排名偏向 HTTPS 来谈实践价值。

JavaScript
// HTTPS 建立连接的过程示意
const steps = [
  'TCP 三次握手,先建立可靠连接',
  'ClientHello:客户端发送随机数与支持的加密套件',
  'ServerHello:服务端返回随机数、选定的套件与数字证书',
  '客户端校验证书,生成预主密钥并用公钥加密发回',
  '双方算出会话密钥,之后内容改用对称加密传输'
];
steps.forEach((s, i) => console.log(i + 1 + '. ' + s));
console.log('结论:HTTPS = HTTP + TLS,明文风险被全部解决');
⚠ 常见误区
🔗 相关词条HTTP 状态码与缓存策略从 URL 输入到页面渲染
← 返回来源章节HTTP 状态码与缓存策略