zoukankan      html  css  js  c++  java
  • [面试笔记]

    1.HTTPS讲一下(被问两次)

     HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。
    PS:TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分。

    HTTPS实现原理



        1.client向server发送请求https://baidu.com,然后连接到server的443端口。

        服务端必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面,这套证书其实就是一对公钥和私钥。

        2.传送证书
        这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间、服务端的公钥,第三方证书认证机构(CA)的签名,服务端的域名信息等内容。

        3.客户端解析证书
        这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随即值(秘钥)。然后用证书对该随机值进行加密。

        4.传送加密信息
        这部分传送的是用证书加密后的秘钥,目的就是让服务端得到这个秘钥,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

        5.服务端加密信息
        服务端用私钥解密秘密秘钥,得到了客户端传过来的私钥,然后把内容通过该值进行对称加密。

        6.传输加密后的信息
        这部分信息是服务端用私钥加密后的信息,可以在客户端被还原。

        7.客户端解密信息
        客户端用之前生成的私钥解密服务端传过来的信息,于是获取了解密后的内容。
    2.Linux下的进程,netstat看了之后怎么找到路径?用什么命令?

    • 1.我们可以从ps命令中得到僵死进程的PID,如上例中23347
    • 2.进入/proc目录下以该PID命名的目录中
    • 3.输入ls -ail,结果中 exe链接对应的就是可执行文件的全路经详细信息
    • [root@edu-web1 /] ls /proc/  找到23347文件

    3.

  • 相关阅读:
    JavaSE—集合框架
    JavaSE——集合框架
    RocketMq 在Netty 下是如何进行消息封装传输
    SpringBoot 初始化流程以及各种常见第三方配置的源码实现
    Java 重要知识点,踩过的坑
    Mysql 知识储备以及InnoDB
    java 编程英语单词,语句
    PlantUML
    Rocketmq broker 消息仓库
    AutowiredAnnotationBeanPostProcessor 的一些思考
  • 原文地址:https://www.cnblogs.com/rookieDanny/p/10677705.html
Copyright © 2011-2022 走看看