计算机网络知识(面试必问)

https://blog.csdn.net/weixin_45912307/article/details/109229702
1. 三次握手,四次挥手过程

  • 三次握手:
    • 第一次握手:客户端发送syn包(syn=1,seq=x)到服务器,并进入SYN_SENT状态,等待服务器确认;
    • 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
    • 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
    • 握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。
    • 三次握手主要为了防止已经失效的请求报文字段发送给服务器,浪费资源。
  • 四次挥手:断开一个TCP连接则需要“四次挥手”。
    • 第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不 会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可 以接受数据。
    • 第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。
      -第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。
    • 第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。
      计算机网络知识(面试必问)_第1张图片

2. OSI,TCP/IP,五层协议的体系结构,以及各层协议

  • OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
  • TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。
  • 五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。
  • 每层作用
    • 物理层:传输二进制比特流
    • 数据链路层:负责将上层数据封装成帧
    • 网络层:负责路由寻址和广播 ;广播:发送消息和接收消息
      *传输层:负责建立一个可靠的端到端的连接;端到端:发送到接收 ;过程:建立、维护、撤销(拆除)
    • 会话层:负责建立维护拆除会话,为端应用之间提供控制功能(可靠性)
    • 表示层:完成对传输数据格式转换:格式化;发:加密;接:解密;发:压缩,接:解压缩
    • 应用层:对应用软件提供网络支持
      计算机网络知识(面试必问)_第2张图片

3. cookie、session、token

  • cookie:在客户端用于存储会话信息的
  • session:在服务器端,记录用户的请求状态,一般默认时间30min
    • session_id会存在cookie中,每次请求cookie中所有信息都会传递给服务器,服务器通过session_id来识别是否是同一个用户请求,不是同一个用户的话,就会要求重新登录
  • token:访问权限和身份认证
    • 鉴权:访问的接口是否正常,是否非法访问绕过前端。 防止跳过页面直接访问接口**token**
    • 授权:是否具有访问接口的权限。 唯一全局动态的 。

4. 常用状态码

  • 100系列:请求已收到继续处理;

  • 200系列:表示成功

    • 200:正常,服务器正确响应了请求
    • 201:通过post或put创建资源成功
    • 204 :资源修改成功,但没有返回内容;常用于delete操作的返回
  • 300系列:资源重定向;

    • 301: 永久重定向;请求的网页已永久移动到新位置
    • 302:临时重定向;被请求文档已经临时移至别处,此文档新的url在location响应头中给出
    • 303:浏览器对于POST的响应进行重定向至新的url
    • 304 : 服务端已经执行了GET,但文件未变化
    • 307:浏览器对于GET的响应重定向至新的url
  • 400系列:客户端错误:

    • 400:错误请求;服务器不理解请求的语法。
    • 401:未授权;如请求参数、方法、格式等
    • 403:拒绝访问;服务器理解客户的请求,但拒绝处理它(没有权限)
    • 404:请求资源不存在
    • 405:请求方法不允许
  • 500系列:服务器端出错

    • 500:服务器内部错误
    • 501:尚未实施;服务器不具备完成请求的功能
    • 502:服务器网关错误
    • 503:服务器由于维护或者负载过重未能应答
    • 504:请求超时

5. http请求头和响应头

  • http请求及其结构:
    请求信息包含:请求行(request) 请求头部header 、空行和请求数据组成
  • 响应及其结构
    响应组成:状态行、响应头报头、空行和响应正文

6. IP地址的分类

  • A类地址:以0开头, 第一个字节范围:1~126(1.0.0.0 - 126.255.255.255);

  • B类地址:以10开头, 第一个字节范围:128~191(128.0.0.0 - 191.255.255.255);

  • C类地址:以110开头, 第一个字节范围:192~223(192.0.0.0 - 223.255.255.255);

  • D类地址:以1110开头,第一个字节范围:224~239(224.0.0.0 - 239.255.255.255);(作为多播使用)

  • E类地址:保留

  • 以下是留用的内部私有地址:

    • A类 10.0.0.0–10.255.255.255
    • B类 172.16.0.0–172.31.255.255

    • C类 192.168.0.0–192.168.255.255

7. 常见一些词汇

  • ARP:地址解析协议(Address Resolution Protocol)
  • RARP:反地址解析协议(Reverse Address Resolution Protocol)将ip地址转换为物理地址
  • FTP:文件传输协议(File Transfer Protocol)
  • HTTP:超文本传输协议(Hyper Text Transfer Protocol)
  • TCP:传输控制协议(Transmission Control Protocol)
  • UDP:用户数据报协议(User Datagram Protocol)

8. TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?
建立连接的过程是利用客户服务器模式,假设主机A为客户端,主机B为服务器端。
(1)TCP的三次握手过程:主机A向B发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。
(2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机A第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机B,主机B以为是主机A又发起的新连接,于是主机B同意连接,并向主机A发回确认,但是此时主机A根本不会理会,主机B就一直在等待主机A发送数据,导致主机B的资源浪费。
(3)采用两次握手不行,原因就是上面说的失效的连接请求的特殊情况。

9. 常用请求方法

  • get:获取资源
  • post:创建资源/更新
  • put:修改
  • delete:删除
  • OPTIONS
  • HEAD
  • PATCH
  • COPY

. get和post区别

  • GET - 从指定的资源请求数据。请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接
  • POST - 向指定的资源提交要被处理的数据。POST请求会把请求的数据放置在HTTP请求包的包体中

10. http和https区别

  • HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
  • HTTPS和HTTP的区别主要如下:
    • https需要到cat申请证书,需要交费
    • http是超文本传输协议,信息明文传输,https具有安全性的ssl加密传输协议
    • http和https使用完全不同的连接方式和端口号,前者80,后者443
    • http连接简单、无状态;https可进行加密传输、身份验证网络协议

11. 请你说一下分布式和集群的概念。
分布式:是指将不同的业务分布在不同的地方,
集群:是指将几台服务器集中在一起,实现同一业务。

分布式中的每一个节点,都可以做集群,而集群并不一定就是分布式的。集群有组织性,一台服务器垮了,其它的服务器可以顶上来,而分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。

12. 路由寻址(路由):
在路由器中,从一个接口接收到数据包,根据数据包所携带的目的地址进行定向转发到另一个接口的过程。

13. HTTP协议工作原理
浏览器作为HTTP客户端通过URL向http服务端即web服务器发送所有请求
web服务器根据接收到的请求后,向客户端发送响应信息

14. 输入url后的过程

  • a. 域名解析,DNS解析 -->> ip地址
  • b. 发起tcp连接的三次握手,建立连接;
  • c. 服务端响应http请求,返回响应报文
  • e. 浏览器页面渲染,展示
  • f. 断开tcp连接,四次挥手

15. 协议(接口)有哪些?

  • http(s)
  • socket
  • webservice
  • dubbo

你可能感兴趣的:(#,计算机网络相关面试合集,http,https,计算机网络)