此文是为牛客网的面试宝典中学习的笔记,照抄学习里面的题目和回答,仅仅是个人学习。我觉得自己整理再打一遍有助于我再次理解和记忆。

  1. 什么是http?
    http是超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端的请求和回答标准(tcp)。
  2. http的作用
    用于www服务器传输超文本链接到本地浏览器的传输协议,可以使浏览器更加高效,使网络传输减少。
  3. 什么是https?
    是以安全为目的的http通道,简单来说就是http的安全版,由http和ssl构建而成。
  4. https的主要作用?
    建立一个信息安全的通道,来确保数组的传输以及网站的真实性。
  5. http和https的区别?
    http传输的数据都是未加密的,也就是明文的,而https是由http和ssl协议构建的可进行加密传输和身份验证的网络协议,比http的安全性更高
    主要区别:
    https协议传输需要ca证书,费用较高
    http是超文本传输协议,是明文传输;而https是具有安全性的ssl加密传输协议。
    端口也不一样,一般http协议为80端口,而https协议为443端口。
    两者使用不同的链接方式,http协议链接方式很简单,是无状态的;https协议是由http和ssl协议构建的加密传输、身份认证的网络协议,比http协议安全。
  6. https协议的工作原理

    客户端在使用https协议与问服务端通信时步骤:
    客户使用https url访问服务器,要求web服务器建立ssl链接;
    web服务器收到客户端请求后,会将证书(含有公钥)返回或者说是传输给客户端;
    双方开始协商ssl的安全等级,就是加密等级;
    客户端浏览器通过双方协商一致的安全等级,建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站。
    web服务器通过自己的私钥解密出会话密钥。
    web服务器会通过会话密钥加密与客户端之间的通信。
  7. https协议的优点
    (1)使用https协议可认证用户和服务器,确保数据发送到正确的客户端和服务器。
    (2)比http协议安全,可防止数据在传输过程中被窃取、改变,确保数据的完整性。
    (3)https是现下最安全的解决方案,虽然不是绝对安全,但是它大幅增加了中间人攻击的成本。
    (4)使用https加密的网站很多。
  8. https的缺点
    (1)https握手阶段比较费时,会使页面加载时间延长50%,增加10%-20%的耗电。
    (2)https缓存不如http高效,会增加数据开销。
    (3)ssl证书需要花钱,功能越强的证书越贵。
    (4)ssl证书需要绑定IP,一个IP只能绑定一个域名,不能绑定多个域名,ipv4实现不了这种资源消耗。
  9. https如何使用
    步骤:
    先去阿里云申请一个免费的https证书,
    阿里云地址https://common-buy.aliyun.com/?spm=5176.13785142.commonbuy2container.9.780f778b7Mu2J1&commodityCode=cas_dv_public_cn&request=%7B%22ord_time%22:%221:Year%22,%22order_num%22:1,%22product%22:%22free_product%22,%22certCount%22:%2220%22%7D
    阿里云https 申请页面截图
    按照步骤签发证书,成功后下载证书就可以在代码里面进行配置了。
    修改nginx配置文件,修改成功后重新加载该文件。
    最后就可以在域名前面用https进行访问了。