最近在复习找工作,把自己总结的频繁出现在面试中的知识点跟大家分享一下,希望对大家找工作有帮助,不足之处还请批评指正!一起加油哦!
持续更新。。。。。。
-
Linux命令复习
-
计算机网络
-
浏览器输入一个地址回车之后都发生了啥?
(参考:https://blog.csdn.net/jiao_0509/article/details/82491299)
- 1、第一步,解析域名对应的IP地址,首先到浏览器缓存中查找,再到系统缓存中查找(查找本地hosts文件),然后到dns服务器中查找(域名服务器中的查找采用迭代查询)。
- 2、第二步,浏览器与目标服务器建立TCP连接,主机浏览器通过DNS解析得到了目标服务器的IP地址后,与服务器建立TCP连接。这其中包括三次握手。
- 3、连接成功建立后,浏览器通过http协议发送请求,浏览器向主机发起一个HTTP-GET方法报文请求。请求中包含访问的URL,也就是http://www.csdn.com/ ,KeepAlive,长连接,还有User-Agent用户浏览器操作系统信息,编码等。这个过程中有可能会发生重定向操作(如:为了负载均衡)。
- 4、服务器处理请求。服务器接收到获取请求,然后处理并返回一个响应。
- 5、服务器发出一个HTML响应。返回状态码200 OK,表示服务器可以响应请求,返回报文。
- 6、释放TCP连接,四次挥手。
- 7、浏览器显示页面。在浏览器没有完整接受全部HTML文档时,它就已经开始显示这个页面了,浏览器接收到返回的数据包,根据浏览器的渲染机制对相应的数据进行渲染。渲染后的数据,进行相应的页面呈现和脚步的交互。
-
迭代查询的过程:
根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器dns.net的IP地址。本地域名服务器向顶级域名服务器dns.net进行查询。顶级域名服务器dns.net告诉本地域名服务器,下一次应查询的权限域名服务器dns.csdn.net的IP地址。本地域名服务器向权限域名服务器dns.csdn.net进行查询。权限域名服务器dns.csdn.net告诉本地域名服务器,所查询的主机www.csdn.net的IP地址。本地域名服务器最后把结果告诉主机。
-
TCP三次握手过程:
- 1、浏览器所在的客户机向服务器发出连接请求报文(SYN标志为1);
- 2、服务器接收报文后,同意建立连接,向客户机发出确认报文(SYN,ACK标志位均为1);
- 3、客户机接收到确认报文后,再次向服务器发出报文,确认已接收到确认报文;此处客户机与服务器之间的TCP连接建立完成,开始通信
-
TCP四次挥手过程:
- 1、 浏览器所在主机向服务器发出连接释放报文,然后停止发送数据;
- 2、服务器接收到释放报文后发出确认报文,然后将服务器上未传送完的数据发送完;
- 3、 服务器数据传输完毕后,向客户机发送连接释放报文;
- 4、客户机接收到报文后,发出确认,然后等待一段时间后,释放TCP连接。
-
tcp四次挥手中的TIME_WAIT状态存在的理由?
(参考:https://blog.csdn.net/stpeace/article/details/75714797)
- 1、 确保最后一个确认报文能够到达。如果 B 没收到 A 发送来的确认报文,那么就会重新发送连接释放请求报文,A 等待一段时间就是为了处理这种情况的发生。
- 2、等待一段时间是为了让本连接持续时间内所产生的所有报文都从网络中消失,使得下一个新的连接不会出现旧的连接请求报文
-
TCP 和 UTP 有什么区别?(深入回答)
(参考:https://www.cnblogs.com/xiaomayizoe/p/5258754.html)
- 1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接。
- 2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。
- 3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的,UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
- 4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
- 5、TCP首部开销20字节;UDP的首部开销小,只有8个字节。
- 6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道
-