2026/1/3 4:43:25
网站建设
项目流程
西宁建设网站软件,网站建设与规划的文献,怎么查百度搜索排名,高端建筑围护系统基础问答问#xff1a;HTTP 和 HTTPS 有什么区别#xff1f;答#xff1a;1. HTTPS 是 HTTP SSL/TLS 协议的一个组合#xff0c;使用 SSL/TLS 加密#xff0c;相对更安全。2. 端口使用不同#xff0c;HTTP 使用 80 端口#xff0c;HTTPS 使用 443 端口。3. HTTPS 由于加…基础问答问HTTP 和 HTTPS 有什么区别答1. HTTPS 是 HTTP SSL/TLS 协议的一个组合使用 SSL/TLS 加密相对更安全。2. 端口使用不同HTTP 使用 80 端口HTTPS 使用 443 端口。3. HTTPS 由于加密设计需要多次握手HTTP 则没有这个问题性能相对更高。4. HTTPS 需要 SSL 证书。5. HTTP 明文传输HTTPS 加密传输。扩展延伸HTTPS 的本质实际上可以概括为“HTTP over TLS/SSL”通过加密和认证解决了 HTTP 存在的窃听篡改冒充的问题。加密HTTPS 的加密机制是对称加密和非对称加密组合。非对称加密在 HTTPS 握手阶段使用公钥加密私钥解密处理好密钥协商的问题客户端从 SSL 证书中获取服务器公钥将随机生成的对话密钥加密后发送给服务器服务器使用私钥解密后便可以得到会话密钥。对称加密在数据的传输阶段使用握手阶段协商的密钥加密传输数据。对于 TLS1.3 来说简化了握手的流程只需要 1RTT往返时间 即可完成密钥的协商比 TLS1.2 更高效TLS1.2 是 2RTT加密算法HTTP 本身无加密机制但在与 TLS 结合形成 HTTPS 后会依赖一些加密算法保障安全这里提供一些典型的加密算法非对称加密算法AES目前 HTTPS 主流算法支持 128 位、256 位密钥长度安全性高且性能优TLS1.2/1.3 均默认推荐如 AES-GCM 模式DES早期算法仅 56 位密钥安全性极低目前已被禁用3DES对 DES 的改进通过三次加密提升安全性但密钥长度仍有限112 位性能低于 AES仅用于兼容老旧系统。对称加密算法RSA应用最广泛的非对称算法支持 1024 位、2048 位、4096 位密钥用于 HTTPS 握手阶段的预主密钥加密服务器公钥加密但计算开销较大TLS1.3 中逐渐被更高效的算法替代。ECC椭圆曲线加密TLS1.3 推荐算法相同安全性下密钥长度远小于 RSA如 256 位 ECC 安全性≈3072 位 RSA计算速度快适合移动设备、物联网等资源受限场景常见如 secp256r1、secp256k1 曲线。DSA仅用于数字签名如证书签名不支持数据加密应用场景较窄目前已被 ECC 和 RSA 替代。摘要算法数字摘要实际就是一个哈希算法通过对数据计算生成固定长度的摘要值用于验证数据是否被篡改应用场景十分广泛如果你在开源项目看的多会发现很多开源的项目在提供文件下载的同时会提供一个哈希值如 sha256 等等提供给用户用于校验文件是否在分发过程中被篡改。这种算法无法通过摘要值反推内容不同的原始数据生成的哈希值基本不可能相同而且长度固定也就是所谓的单向、唯一、定长。常见算法有MD5生成 128 位摘要早期用于文件校验如 HTTP 静态资源校验但存在碰撞漏洞不同数据可生成相同 MD5目前仅用于非安全场景如文件唯一标识禁止用于密码存储、数据加密校验。SHA-1生成 160 位摘要安全性高于 MD5但 2017 年被证实存在碰撞风险TLS1.3 已禁用 SHA-1目前仅用于老旧系统兼容如早期 SSL 证书签名。SHA-2 系列目前主流安全算法包括 SHA-256256 位摘要、SHA-384384 位摘要、SHA-512512 位摘要抗碰撞性强用于 HTTPS 证书签名如 EV 证书采用 SHA-256 签名、TLS 握手阶段的 “Finished” 消息校验、HTTP 静态资源完整性校验如 HTML 中 link rel\stylesheet href\style.css integrity\sha256-xxx。SHA-3 系列SHA-2 的补充算法采用全新算法结构安全性更高但目前应用较少主要用于对安全性要求极高的场景如金融级数据校验。在 HTTP 场景中主要有以下几个应用静态资源完整性校验前端引入 HTTP/HTTPS 资源时通过 integrity 属性指定资源的摘要值如 SHA-256浏览器下载后计算摘要值对比不一致则拒绝加载防范 CDN 劫持、资源篡改API 接口签名后端接口要求客户端对请求参数如时间戳、参数值计算摘要如 SHA-256HMAC服务器接收后重新计算摘要对比验证请求是否被篡改、是否为合法客户端发送HTTPS 证书校验CA 机构颁发证书时用自身私钥对证书内容 摘要算法如 SHA-256签名客户端验证时用 CA 公钥解密签名再对证书内容计算摘要对比是否一致确认证书未被篡改。HTTPS 完整握手流程客户端发送 Client Hello 消息这套消息包含支持的 TLS 版本、加密信息、一个随机数 A服务端回应 Server Hello 消息确认 TLS 版本、加密信息、一个随机数 B 和 SSL 证书客户端验证证书客户端通过 CA 公钥验证证书合法性这一步防范的是中间人伪造同时这一步先生成预主密钥premaster secret然后用服务器公钥加密后发送给服务器。服务器解密预主密钥premaster secret用私钥解密得到密钥结合随机数 A、B生成会话密钥用于后续的对称加密。双方确认加密通道客户端和服务器分别用会话密钥加密 “Finished” 消息确认对方能正常解密握手完成。数据传输后续所有 HTTP 请求 / 响应均用会话密钥加密传输mermaid-diagram-2025-11-26-104113-nhegchkd.png面试追问HTTPS 为什么需要证书核心的目的是防范中间人攻击如果没有 CA 证书中间人就可以伪造证书发送给客户端在客户端一侧无法分清真假就会出现将加密后的会话密钥发送给中间人。而 CA证书是由权威机构颁发的包含了服务器的公钥和机构的签名客户端可以通过本地内置的 CA 根证书来验证签名确认服务器身份。HTTPS 有什么性能优化的方式协议优化使用 TLS 1.3 减少握手次数同时在无需兼容的时候禁用老的加密套件证书优化使用 EV 证书增强信任或多域名证书减少证书数量开启 OCSP Stapling 避免客户端单独查询证书吊销状态连接优化使用 HTTP/2 利用多路复用减少连接数启用 Session Resumption 复用会话避免重复握手HTTPS 虽然安全但是我的网站只是个静态网站使用 HTTP 是不是就行了理论上是这样可以不需要 HTTPS但是目前搜索引擎会优先收录 HTTPS 站点会影响我们站点的 SEO其次目前主流浏览器对于 HTTP 站点会标记不安全对于用户来说这一个不安全提示可能会直接导致站点流量大量回落。所以除非是内部的一些无敏感信息的站点只要对外的站点尽可能都使用 HTTPS。为什么不能用 MD5 加密密码因为存在漏洞一段 MD5 可能有不同的内容对于攻击方可以通过明文不同但是 MD5 相同的密码来绕过验证而且破解的成本相对来说比较低可以直接用彩虹表来快速破