计算机网络常见面试题

1.TCP\UDP的区别

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

UDP(User Datagram Protocol用户数据报协议)是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

区别:

  1. TCP面向连接,UDP面向非连接即发送数据前不需要建立链接
  2. TCP提供可靠的服务(数据传输),UDP无法保证
  3. TCP面向字节流,UDP面向报文
  4. TCP连接是点对点的,UDP支持多对多通信
  5. TCP头部20字节,UDP头部8字节
  6. UDP没有拥塞机制,因此网络出现拥堵不会使源主机的发送效率降低

2.HTTP中GET和POST的区别

从原理性看:

  • 根据HTTP规范,GET用于信息获取,而且应该是安全和幂等的
  • 根据HTTP规范,POST请求表示可能修改服务器上资源的请求

区别:

  1. GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中,POST把提交的数据则放置在是HTTP包的包体中
  2. POST不能缓存,参数不会保存在浏览器历史中,GET则相反
  3. GET只能传送ASCII 字符,POST没有限制可以传送二进制数据

3. HTTP和HTTPS的区别

HTTPS = HTTP + SSL
SSL协议提供的服务主要有:

  1. 认证用户和服务器,确保数据发送到正确的客户机和服务器;
  2. 加密数据以防止数据中途被窃取;
  3. 维护数据的完整性,确保数据在传输过程中不被改变。

4.在浏览器中输入网址之后执行会发生什么?

  1. 查找域名对应的IP地址。这一步会依次查找浏览器缓存,系统缓存,路由器缓存,ISPNDS缓存,根域名服务器
  2. 浏览器向IP对应的web服务器发送一个HTTP请求
  3. 服务器响应请求,发回网页内容
  4. 浏览器解析网页内容

5.拥塞控制

  1. 慢启动和拥塞避免算法(拥塞窗口和慢启动门限)
  2. 快速重传和快速恢复算法

6.流量控制

滑动窗口:TCP采用大小可变的滑动窗口进行流量控制,窗口大小的单位是字节。 发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值

参考链接
学习编程的知乎专栏
Http和Https的区别
输入网址到页面显示之间发生了什么

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容