zoukankan      html  css  js  c++  java
  • 面试-简论HTTP和HTTPS敖丙面试图解析

    简论HTTP和HTTPS

    开门见山,这篇可以讲的很多 ,对于面试使用的不算太多,相对于TCP和UDP而言,HTTPS和HTTP这块可问的不算是太多

    HTTP协议的缺点

    • 通信使用明文,内容可能被窃听(重要密码泄露)
    • 不验证通信方身份,有可能遭遇伪装(跨站点请求伪造)
    • 无法证明报文的完整性,有可能已遭篡改(运营商劫持)

    HTTPS能解决这些问题吗?

    能,https是在http协议基础上加入加密处理和认证机制以及完整性保护,即http+加密+认证+完整性保护=httpshttps并非应用层的一种新协议,只是http通信接口部分用ssl/tls协议代替而已。通常http直接和tcp通信,当使用ssl时则演变成先和ssl通信,再由ssl和tcp通信。所谓https,其实就是身披ssl协议这层外壳的http

    SSL 是这片网络上唯一的一片净土

    为啥要发明 SSL 这个协议?因为原先互联网上使用的 HTTP 协议是明文的,存在很多缺点——比如传输内容会被偷窥(嗅探)和篡改。发明 SSL 协议,就是为了解决这些问题。

    http和https的区别:

    • HTTP 的 URL 以 http:// 开头,而 HTTPS 的 URL 以 https:// 开头
    • HTTP 是不安全的,而 HTTPS 是安全的
    • HTTP 标准端口是 80 ,而 HTTPS 的标准端口是 443
    • 在 OSI 网络模型中,HTTPS的加密是在传输层完成的,因为SSL是位于传输层的,TLS的前身是SSL,所以同理
    • HTTP无需认证证书,而https需要认证证书

    HTTPS工作原理:

    • 首先服务端给客户端传输证书,这个证书就是公钥,只是包含了很多的信息,比如说证书的办法机构,证书的过期时间
    • 客户端进行证书的解析,比如说验证办法机构,过期时间,如果发现没有任何问题,就生成一个随机值(私钥),然后用证书对这个私钥进行加密,并发送给服务端
    • 服务端使用私钥将这个信息进行解密,得到客户端的私钥,然后客户端和服务端就可以通过这个私钥进行通信了
    • 服务端将消息进行对称加密(简单来说就是讲消息和私钥进行混合,除非知道私钥否则服务进行解密),私钥正好只有客户端和服务端知道,所以信息就比较安全了
    • 服务端将进行对称加密后的消息进行传送
    • 客户端使用私钥进行信息的解密

    HTTP1.0,1.1,2.0之间的区别和特性

    1. http1.0:无连接,无状态,一次请求一个tcp连接
    2. http1.1:持久连接,请求管道化(有一些缺陷) ,增加了host字段,缓存,断点续传
    3. http2.0 : 二进制分帧(多路复用的实现基础), 多路复用,头部压缩

    能力越强,责任越大。

    实事求是,严谨细致。

    惊蛰新博客

  • 相关阅读:
    vue 引用本地图片
    antdVue
    Nest.js —— A progressive Node.js framework
    20184313《网络对抗技术》Exp8 Web综合
    20184313《网络对抗技术》Exp7 网络欺诈防范
    20184313《网络对抗技术》Exp6 MSF应用基础
    20184313《网络对抗技术》Exp5 信息搜集与漏洞扫描
    网页激知序列号之途径(网友提供技术参考)
    【转】Delphi中正则表达式支持中文的写法
    遇到的一个奇怪问题
  • 原文地址:https://www.cnblogs.com/jingzheins/p/14061760.html
Copyright © 2011-2022 走看看