• 面试题 | 1. 说一下http和https


    1. 说一下http和https

    https的SSL加密是在传输层实现的。

    1. http和https的基本概念

      HTTP协议Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。

      HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)。

      HTTPS协议Hyper Text Transfer Protocol Secure(超文本传输安全协议)的缩写,是一种通过计算机网络进行安全通信的传输协议。

      HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包,HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。

    2. http和https的区别

      ​ http传输的数据都是未加密的,也就是明文的,网景公司设置了SSL协议来对http协议传输的数据进行加密处理,简单来说https协议是由http和ssl协议构建的可进行加密传输和身份认证的网络协议,https协议比http协议的安全性更高。

      主要的区别如下:

      1. HTTPS协议需要ca证书,费用较高。
      2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
      3. HTTP的URL是由http://起始与默认使用端口80,而HTTPS的URL则是由https://起始与默认使用端口443。
      4. http的连接很简单,是无状态的;https协议是由SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议,比http协议安全
    3. https协议的工作原理

      客户端在使用HTTPS方式与WEB服务器通信时有以下几个步骤:

      1. 客户端使用https url访问服务器,则要求web服务器建立ssl链接。
      2. web服务器接收到客户端的请求之后,会将网站的证书(证书中包含了公钥),返回或者说传输给客户端。
      3. 客户端和web服务器端开始协商SSL链接的安全等级,也就是加密等级。
      4. 客户端浏览器通过双方协商一致的安全等级,建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站。
      5. web服务器通过自己的私钥解密出会话密钥。
      6. web服务器通过会话密钥加密与客户端之间的通信。
    4. https协议的优点

      1. 使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
      2. HTTPS协议是由SSL+HTTP协议构建的可进行加密运输,身份认证的网络协议,要比HTTP协议安全,可防止数据在传输过程中不被窃取,改变 ,确保了数据的完整性
      3. HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击成本;
      4. 谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名就会更高”。
    5. https协议的缺点

      1. https握手阶段比较费时,会使页面加载时间延长50%,增加10%~20%的耗电。
      2. https缓存不如http高效,会增加数据开销
      3. SSL证书也需要钱,功能越强大的证书费用越高
      4. SSL证书需要绑定IP,不能在同一个IP上绑定多个域名,IPV4资源支持不了这种消耗。
  • 相关阅读:
    【C++入门 一 】学习C++背景、开启C++奇妙之旅
    CLR via C#-托管堆和垃圾回收
    TeamTalk梳理概括
    一些知识汇总
    分享一下微信小程序怎么实现积分商城功能
    分布式原理
    DEJA_VU3D - Cesium功能集 之 070-编辑3Dtiles(平移+旋转)
    3. Python 变量和赋值
    【无标题】
    PAT.1096 Consecutive Factors
  • 原文地址:https://blog.csdn.net/muziqwyk/article/details/126129531