最新必会的计算机网络大厂面试必问20个问题


目录
  • 1、网络分层结构
  • 2、三次握手
  • 3、四次挥手
  • 4、第四次挥手为什么要等待2MSL?
  • 5、为什么是四次挥手?
  • 6、TCP和UDP的区别
  • 7、TCP有哪些特点?
  • 14、什么是数字证书?
  • 16、DNS 的解析过程?
  • 17、浏览器中输入URL返回页面过程?
  • 18、Cookie和Session的区别?
  • 19、什么是对称加密和非对称加密?
  • https://blog.csdn.net/zzk220106/article/details/78595108

    • 区别
      (1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)
      (2)post发送的数据更大(get有url长度限制)
      (3)post能发送更多的数据类型(get只能发送ASCII字符)
      (4)post比get慢
      (5)post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作
      (6)get请求的是静态资源,则会缓存,如果是数据,则不会缓存

    • 为什么get比post更快
      1.post请求包含更多的请求头
      因为post需要在请求的body部分包含数据,所以会多了几个数据描述部分的首部字段(如:content-type),这其实是微乎其微的。
      2.最重要的一条,post在真正接收数据之前会先将请求头发送给服务器进行确认,然后才真正发送数据

    • post请求的过程:
      (1)浏览器请求tcp连接(第一次握手)
      (2)服务器答应进行tcp连接(第二次握手)
      (3)浏览器确认,并发送post请求头(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送)
      (4)服务器返回100 Continue响应
      (5)浏览器发送数据
      (6)服务器返回200 OK响应

    • get请求的过程:
      (1)浏览器请求tcp连接(第一次握手)
      (2)服务器答应进行tcp连接(第二次握手)
      (3)浏览器确认,并发送get请求头和数据(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送)
      (4)服务器返回200 OK响应
      也就是说,目测get的总耗是post的2/3左右,这个口说无凭,网上已经有网友进行过测试。

    • get传参最大长度的理解误区
      (1)http协议并未规定get和post的长度限制
      (2)get的最大长度限制是因为浏览器和web服务器限制了URL的长度
      (3)不同的浏览器和web服务器,限制的最大长度不一样
      (4)要支持IE,则最大长度为2083byte,若支持Chrome,则最大长度8182byte