计算机网络面试题(常考)

发布时间:2024年01月04日

1. URI 和 URL 的区别?

参考答案

    URI(Uniform Resource Identifier): 中文全称为统一资源标志符,主要作用是唯一标识一个资源。
    URL(Uniform Resource Location):中文全称为统一资源定位符,主要作用是提供资源的路径。

2. TCP 和 UDP 区别?

参考答案

 
连接可靠性传输形式传输效率消耗资源应用场景
TCP有连接可靠字节流文件/邮件传输
UDP无连接不可靠数据报视频/音频传输

3. TCP 三次握手

参考答案

    第一次握手:客户端向服务端发起建立连接请求,客户端会随机生成一个起始序列号 x,客户端向服务端发送的字段中包含标志位 SYN=1,序列号 seq=100。第一次握手前客户端的状态为 CLOSE,第一次握手后客户端的状态为 SYN-SENT。此时服务端的状态为 LISTEN
    第二次握手:服务端在收到客户端发来的报文后,会随机生成一个服务端的起始序列号 y,然后给客户端回复一段报文,其中包括标志位 SYN=1,ACK=1,序列号 seq=y,确认号 ack=x+1。第二次握手前服务端的状态为 LISTEN,第二次握手后服务端的状态为 SYN-RCVD,此时客户端的状态为 SYN-SENT。(其中 SYN=1 表示要和客户端建立一个连接,ACK=1 表示确认序号有效)
    第三次握手:客户端收到服务端发来的报文后,会再向服务端发送报文,其中包含标志位 ACK=1,序列号 seq=x+1,确认号 ack=y+1。第三次握手前客户端的状态为 SYN-SENT,第三次握手后客户端和服务端的状态都为 ESTABLISHED。

4. TCP 四次挥手

参考答案

    第一次挥手:客户端向服务端发送的数据完成后,向服务端发起释放连接报文,报文包含标志位 FIN=1,序列号 seq=u。此时客户端只能接收数据,不能向服务端发送数据。
    第二次挥手:服务端收到客户端的释放连接报文后,向客户端发送确认报文,包含标志位 ACK=1,序列号 seq=V,确认号 ack=u+1。此时客户端到服务端的连接已经释放掉,客户端不能像服务端发送数据,服务端也不能向客户端发送数据。但服务端到客户端的单向连接还能正常传输数据。
    第三次挥手:服务端发送完数据后向客户端发出连接释放报文,报文包含标志位 FIN=1,标志位 ACK=1,序列号 seq=w,确认号 ack=u+1。
    第四次挥手:客户端收到服务端发送的释放连接请求,向服务端发送确认报文,包含标志位 ACK=1,序列号 seq=u+1,确认号 ack=w+1。

5. HTTP 和 HTTPS 区别

参考答案

HTTPHTTP
端口80433
安全性无加密,安全性差有加密,安全性强
资源消耗较少较多
是否需要证书不需要需要
使用协议TCPTCP、SSL、TLS

6. 常见 HTTP 状态码

参考答案

    200 - 请求成功
    301 - 资源(网页等)被永久转移到其它 URL
    404 - 请求的资源(网页等)不存在
    500 - 内部服务器错误

7. 常见 HTTP 请求方法

参考答案

    GET:请求指定的页面信息,并返回实体主体。
    HEAD:类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头。
    POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
    PUT:从客户端向服务器传送的数据取代指定的文档的内容。
    DELETE:请求服务器删除指定的页面。
    CONNECT:HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
    OPTIONS:允许客户端查看服务器的性能。
    TRACE:回显服务器收到的请求,主要用于测试或诊断。
    PATCH:是对 PUT 方法的补充,用来对已知资源进行局部更新 。

8. GET 和 POST 区别

参考答案

    1. GET 请求一般是去取获取数据(其实也可以提交,但常见的是获取数据);POST 请求一般是去提交数据。
    2. GET 因为参数会放在 URL 中,所以隐私性,安全性较差,请求的数据长度是有限制的,不同的浏览器和服务器不同,一般限制在 2~8K 之间,更加常见的是 1K 以内;post 请求是没有的长度限制,请求数据是放在 body 中;
    3. GET 请求刷新服务器或者回退没有影响,POST 请求回退时会重新提交数据请求。
    4. GET 请求可以被缓存,POST 请求不会被缓存。
    5. GET 请求会被保存在浏览器历史记录当中,POST 不会。

9. 浏览器输入 URL 地址到显示主页过程

参考答案

    1. DNS 解析
    2. TCP 连接
    3. 发送 HTTP 请求
    4. 服务器处理请求并返回 HTTP 报文
    5. 浏览器解析渲染页面
    6. 连接结束

10. Ajax 原理

参考答案

    Ajax 的原理简单来说通过 XmlHttpRequest 对象来向服务器发送异步请求,从服务器获得数据,然后用 JavaScript 来操作 DOM 而更新页面。这其中最关键的一步就是从服务器获得请求数据。

11. 说一下 ping 的过程

参考答案

    ping 是 ICMP(网际控制报文协议)中的一个重要应用,ICMP 是网络层协议。ping 的作用是测试两个主机的连通性。
    ping 的工作过程:
    1. 向目的主机发送多个 ICMP 回送请求报文
    2. 根据目的主机返回的回送报文的时间和成功响应的次数估算出数据包往返时间及丢包率。

文章来源:https://blog.csdn.net/qq_57747969/article/details/135384263
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。