文章目录

东篱南山

采菊东篱下,悠然现南山

面试篇--Linux和网络

TCP与HTTP

  1. HTTPS的加密方式是什么,讲讲整个加密解密流程。
    1.客户端(通常是浏览器)先向服务器发出加密通信的请求,发送协议版本,客户端生成随机数,加密方法等等
    2.服务端收到请求后回应,内容包含协议版本、服务端生成的随机数、加密方式、服务器证书
    3.客户端收到服务器回应以后,首先验证服务器证书。如果证书不是可信机构颁布、或者证书中的域名与实际域名不一致、或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。
    如果证书没有问题,客户端就会从证书中取出服务器的公钥。然后,向服务器发送下面三项信息。
    (1) 一个随机数。该随机数用服务器公钥加密,防止被窃听。
    (2) 编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。
    (3) 客户端握手结束通知,表示客户端的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供服务器校验。
    4.服务器收到客户端的第三个随机数pre-master key之后,计算生成本次会话所用的"会话密钥"。然后,向客户端最后发送下面信息。
    (1)编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。
    (2)服务器握手结束通知,表示服务器的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供客户端校验。

  2. http1.0和http1.1有什么区别。

  3. TCP三次握手和四次挥手的流程,为什么断开连接要4次,如果握手只有两次,会出现什么。
    三次握手
    1.客户端将SYN位置设为1,随机产生一个值,并将数据包发给服务端,服务端进入等待状态
    2.服务端向服务端发送请求,并进入等待接受状态
    3.客户端回应客户端收到请求,然后开始通信
    四次挥手
    因为TCP/IP协议是全双工通信
    1.第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。
    2.第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。
    3.第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。
    4.第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。

  4. TIME_WAIT和CLOSE_WAIT的区别。
    CLOSE_WAIT是服务端
    TIME_WAIT是客户端

  5. 说说你知道的几种HTTP响应码,比如200, 302, 404。

  6. 当你用浏览器打开一个链接(如:http://www.javastack.cn)的时候,计算机做了哪些工作步骤。
    1.DNS解析
    2.TCP连接
    3.发送HTTP请求
    4.服务器处理请求并返回HTTP报文
    5.浏览器解析渲染页面
    6.连接结束

  7. TCP/IP如何保证可靠性,说说TCP头的结构。

  8. 如何避免浏览器缓存。

  9. 如何理解HTTP协议的无状态性。
    无状态是指协议对于事务处理没有记忆能力,服务端不知道客户端什么状态

  10. 简述Http请求get和post的区别以及数据包格式。

  11. HTTP有哪些method

  12. 简述HTTP请求的报文格式。

  13. HTTP的长连接是什么意思。
    长连接就是客户端和服务端的TCP连接不会关闭

  14. Http和https的三次握手有什么区别。

http状态码:200成功,303重定向 304 没有找到方法 403Forbidden 404 未找到页面 500 系统异常 502Bad Gateway 503 服务不可用

  1. 什么是分块传送。
  2. Session和cookie的区别。
    1.存取方式的不同
    Cookie中只能保管ASCII字符串,
    Session中能够存取任何类型的数据
    2.隐私策略的不同
    Cookie存储在客户端阅读器中,对客户端是可见的,
    Session存储在服务器上,对客户端是透明的,不存在敏感信息泄露的风险。
    3.服务器压力的不同
    Session存储在服务器上,请求量大会比较耗费内存
    Cookie保管在客户端,不占用服务器资源。
    4.跨域支持上的不同
    Cookie支持跨域名访问
    Session仅在他所在的域名内有效。
    18.v

19.应用层---表示层----会话层-----传输层-----网络层------数据链路层-------物理层


标题:面试篇--Linux和网络
作者:zc1249274251
地址:https://www.fanyueba.com/articles/2019/09/26/1569471173915.html