HTTP 与 HTTPS 区别

  • HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。

  • 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。

  • HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。

  • http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。

  • HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。


HTTPS 建立连接过程

  • 1.首先客户端先给服务器发送一个请求

  • 2.服务器发送一个SSL证书给客户端,内容包括:证书的发布机构、有效期、所有者、签名以及公钥

  • 3.客户端对发来的公钥进行真伪校验,校验结果为真则使用公钥对对称加密算法以及对称密钥进行加密

  • 4.服务器端使用私钥进行解密并使用对称密钥加密确认信息发送给客户端

  • 5.随后客户端和服务端就使用对称密钥进行信息传输

最新文章

  1. 技术笔记:Indy IdSMTP支持腾讯QQ邮箱邮件发送
  2. [Maven] - Eclipse "maven compiler plugin" 冲突解决
  3. FineReport构建银行金融租赁考核系统
  4. zTree学习文档和DEOM
  5. Maven实战(三)Eclipse构建Maven项目
  6. 开发者必须知道的HTML5十五大新特性
  7. jquery提示信息 tips
  8. JQ笔记
  9. 【二分查找+优化O(n)】【续UVA1121】Subsequence
  10. mac安装postman
  11. linux 查看java的安装路径
  12. js点滴3 vs vue
  13. C#基础知识之List和数组之间的转换
  14. HDU4403-模拟、数学
  15. python之集合【set】
  16. 测试运行kafka的时候缺少包的错误
  17. bootStrap的小知识
  18. Flask框架的学习与实战(一):开发环境搭建
  19. 安装wxWidgets遭遇的两大关卡
  20. Hibernate缓存何时使用和如何使用

热门文章

  1. 提升项目一:花卉管理系统(Servlet+JSP完成)
  2. python 添加字符串的七种方法
  3. 将js进行到底:node学习9
  4. 使用Google App Engine开始新的网站开发学习
  5. Redis(1)——5种基本数据结构
  6. 46-Python深浅拷贝
  7. jvm GC算法和种类
  8. 通读Python官方文档之cgitb
  9. 【Amaple教程】6. 路由配置
  10. JZOJ 1776. 经济编码 (Standard IO)