美文网首页
HTTP 协议和 HTTPS 协议的区别

HTTP 协议和 HTTPS 协议的区别

作者: Vic_wkx | 来源:发表于2021-07-26 23:28 被阅读0次

HTTP 全称 Hyper Text Transfer Protocol,译为超文本传输协议。
HTTP 最初的设计目的是提供一种发布和接收 HTML (Hyper Text Markup Language,超文本标记语言)页面的方法。
HTTP 有多个版本,目前广泛使用的是 HTTP/1.1 版本。

网络协议:通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。

HTTP 特点

  • HTTP 协议支持客户端/服务端模式,是一种请求/响应模式的协议
  • 实现简单:客户端向服务端发送请求时,只需传送请求方法、请求路径和参数,常用的请求方法有 GET、HEAD、POST 等等
  • 应用广泛:HTTP 允许传输任意类型的数据对象,传输的类型类型由 Head 中的 Content-Type 标记
  • 无连接:每次连接只处理一个请求,服务器处理完请求,并收到客户端的应答后,即断开连接。这种模式不利于客户端和服务器保持会话连接,为了弥补这项不足,产生了两种记录 HTTP 状态的技术 —— Cookie 和 Session
  • 无状态:服务端不会存储事务处理结果,后续的处理如果需要前面的信息,则必须把前面的信息再传过来

HTTP 存在的问题

  • 请求信息通过明文传输,容易被窃听、截取
  • 通信双方没有校验数据的完整性,容易被篡改
  • 通信双方没有验证对方身份,容易出现中间人攻击

HTTPS 就是为了解决这些问题而诞生的,HTTPS 的全称是 Hyper Text Transfer Protocol over Secure Socket Layer,意思是 HTTP + SSL/TLS。

SSL 是指 Secure Socket Layer(安全套接字层),它位于 TCP/IP 协议和应用层协议之间,为数据通信提供安全支持,SSL 依靠证书来验证服务器的身份,并为客户端和服务器之间的通信加密。TLS 是指 Transport Layer Security(传输层安全),它是 SSL 的优化版。目前使用最广泛的是 TLS 1.1、TLS 1.2。

使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般 SSL 证书需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。SSL 证书其实就是一对公钥和私钥,加上一些其他信息,如证书的颁发机构,过期时间等等。

也有一些开源、免费的证书,如 Let's Encrypt。

HTTPS 传输流程

  • 客户端通过 URL 访问服务器建立 SSL 连接
  • 服务器收到客户端请求后,将网站支持的证书信息(证书中包含公钥)传送一份给客户端
  • 客户端与服务器协商 SSL 连接的安全等级,也就是信息加密的等级
  • 客户端根据双方同意的安全等级,建立会话密钥,利用服务器的公钥将会话密钥加密,并传送给服务器
  • 服务器用自己的私钥解密出会话密钥
  • 服务器利用会话密钥与客户端进行加密通信

HTTPS 的缺点

  • HTTPS 多次握手,导致页面加载时间延长
  • HTTPS 连接的缓存不如 HTTP 高效,会增加数据开销和功耗
  • SSL 证书是收费的,功能越强大的证书费用越高
  • SSL 涉及到的安全算法会消耗 CPU 资源,对服务器资源消耗大

总结:HTTP 与 HTTPS 的区别

  • 安全方面:HTTP 采用明文传输,HTTPS 采用加密传输,并且通过 SSL 证书验证服务器的身份,所以 HTTPS 更安全
  • 性能方面:HTTPS 需要先建立 SSL 连接,并传输加密通信所需的密钥,导致握手次数较多;而且加密解密算法对服务器的 CPU 消耗较大。所以 HTTP 性能更高
  • 价格:HTTPS 用到的 SSL 证书一般是收费的,不同的证书收费也不同,但也有免费的证书,如 Let's Encrypt,HTTP 是免费的
  • SEO(Search Engine Optimization):通常采用 HTTPS 加密的网站在搜索结果中的排名比同等的 HTTP 网站的排名更高
  • 默认端口:HTTP 默认端口是 80,HTTPS 默认端口是 443

参考文章

十分钟搞懂HTTP和HTTPS协议?
http和https的区别
HTTP 与 HTTPS 的区别

相关文章

  • Nodejs 面试题

    (掌握)Http和Https的区别? http协议和https协议的区别:传输信息安全性不同、连接方式不同、端口不...

  • HTTP 协议和 HTTPS 协议的区别

    HTTP 全称 Hyper Text Transfer Protocol,译为超文本传输协议。HTTP 最初的设计...

  • http协议和http与https的区别

    http协议: 1>:是基于请求与响应的应用层协议,底层是TCP,传输层可靠 2>:是一种c/s或b/s模式,通过...

  • Http协议和Https协议

    Http网络协议 一、简介 超文本传输协议,基于TCP/IP协议来传输数据; 原理:客户端-服务端架构,客户通过U...

  • http协议和https协议

    概念 http协议的全称是超文本传输协议,是一个基于请求和响应的、无状态的、应用层的协议,常基于TCP/IP协议传...

  • SSL/TLS工作原理

    以前已经介绍过HTTP协议和HTTPS协议的区别,这次就来了解一下HTTPS协议的加密原理。 为了保证网络通信的安...

  • 知识点整理之HTTP

    .http与https的区别 https协议需要到ca申请证书,一般免费证书较少,需要付费 http是超文本传输协...

  • iOS-网络-NSURLSession发送GET和POST请求

    前面分别讲了HTTP协议和HTTPS协议以及简单介绍了GET和POST的区别,现在就讲一下如何使用NSURLSes...

  • http和https的区别

    http和https的区别 http和https的安全1.http是网页浏览器和网站服务器超文本传输协议,请求的协...

  • 用 // 代替 http:// 有什么好处(自适应https)

    // 缺省协议 //缺省协议的使用,代表资源访问的协议和当前页面保持一致,如果当前页面是http ,采用http协...

网友评论

      本文标题:HTTP 协议和 HTTPS 协议的区别

      本文链接:https://www.haomeiwen.com/subject/lexnmltx.html