https面试题

119 阅读3分钟
  1. 什么是HTTPS协议? 一种网络安全通信的传输协议
    相比于http进行了ssl/tls加秘
    主要目的:对网站服务器进行认证,保证交换数据的完整性,隐私性
    http采取明文传输,具有数据劫持,数据篡改,数据窃听的风险
    https 具有身份校验,信息加秘,完整性校验能避免http发生的问题

TLS/SSL的工作原理 在http和tcp中间进行了一道加密协议,不影响其他

  1. 数字证书是什么? 相当于一把钥匙,在传输中使用,通过钥匙获得加秘的数据

  2. HTTPS通信(握手)过程 客户端向服务器发送请求,带上协议号和加密方式
    服务器收到请求后,确认加秘方式,并将证书发送到客户端,以及服务器生成的随机数
    客户端收到证书后确认有效后,生成一个随机数,并用证书加秘,并生成一个完整数据的随机数
    服务器收到随机数后,用私钥解密,并提供完整数据的随机数给客户端校验
    此后客户端和服务器都通过这个钥匙进行通信加秘

  3. HTTPS的特点 优点 :安全 增加了通信的安全性,防止http出现的数据劫持,篡改,数据监听的问题
    大大增加了外部攻击的成本
    缺点 证书需要收费,且速度没有http快

http状态码 1xx 信息性状态码 代表请求正在处理
2xx 成功状态码 代表请求处理成功
3xx 重定向状态码 需要进行附加操作完成请求
4xx 客户端错误 服务器无法处理请求
5xx 服务器错误 服务器处理请求出错

常见状态码 200 请求成功,203请求成功,请求体不返回数据
301 永久重定向 302 零食重定向,304 命中协商缓存
400 客户端请求有误 403 客户端访问服务器被拒绝 404 客户端找不到服务器资源
500 服务器处理请求出错 ,503服务器暂时无法处理客户端请求

  1. DNS 协议是什么
    域名解析系统,根据域名解析出IP地址,供客户端请求

tcp和udp
tcp基于连接(相当于打电话)
有三握手四挥手
三握手
syn-ask-ask 两次握手既可以建立连接,三次是为了确认数据是否收到,防止丢包
四挥手
fin-ask-fin-ask
第二次第三次的 ask和fin包都是服务器在发送数据,

其实二次握手就可以建立链接,三次握手是为了防止丢包的链接被服务端等待(syn~ ask ~ ask)
四次挥手是因为服务端有未发送完的数据。所以需要服务端连续发两次。同时客户端最后的等待也是为了确保 服务端收到ASK请求fin ~ ask ~ fin ~ ask
如果过了等待时间则认为服务端已经关闭(没有关闭的话会有ASK)

upd 基于非连接(写信)
速度比tcp快不用确认数据是否收到,但是数据准确性没tcp高,可能会丢包