计算机网络-面试准备

计算机网络速刷 参考资料

分层结构

OSI:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
路由器作用于物理层、数据链路层、网络层。主要功能是建立路由表,然后根据表项进行数据包的转发
TCP/IP 四层结构:网络接口层、网际层、传输层、应用层
最经典的五层参考模型:物理层、数据链路层、网络层、传输层、应用层
参考资料

在这里插入图片描述

TCP/UDP 区别

特点TCPUDP
是否面向连接面向连接面向无连接
是否可靠服务可靠服务无法保证可靠
传输速度传输慢传输快
报文格式面向字节流面向报文
适用场景网页、邮件语音广播

TCP的三次握手,四次挥手

思路: TCP需要保证可靠性,因此三次握手的目的就是同步连接双方的序列号和确认号并交换TCP窗口大小信息。
TCP三次握手 : 两次不够,四次多余

  • 第一次握手(SYN=1,seq=x) 发送完毕之后客户端进入SYN_END状态
  • 第二次握手(SYN=1,ACK=1,seq=y,ACKnum=x+1),发送完毕之后,服务器端就进入了SYN_RCV状态,同步码状态结束
  • 第三次握手(ACK=1,ACKnum=y+1),发送完毕之后,客户端就进入了建立连接的状态,服务器端也在收到包之后进入了建立连接的状态
    在这里插入图片描述

TCP四次挥手:

  • 第一次挥手(FIN=1,seq=u),发送完毕之后,客户端FIN_WAIT_1状态。
  • 第二次挥手(ACK=1,ack=u+1,seq=v), 发送完毕之后,服务器端进入CLOSE_WAIT状态,客户端接收到之后进入FIN_WAIT_2状态。
  • 第三次挥手(FIN=1,ACK=1,seq=w,ack=u+1),发送完毕之后,服务器端进入LAST_ACK状态,等待来自客户端的最后一个ACK。
  • 第四次挥手(ACK=1,seq=u+1,ack=w+1),客户端接收来自服务器的关闭请求,发送一个确认包,并且进入TIME_WAIT状态,等待了某个固定时间(两个最大段生命周期,2MSL,2Maximum Segmentation Lifetime)之后,没有接收到服务器的ACK,认为服务器端已经正常关闭连接,于是自己也关闭连接,进入CLOSE状态。服务器端接收到这个确认包之后,关闭连接,进入CLOSED状态。
    最后为什么要等待两个最大段周期?
    为了保证客户端最后一个ACK能到达服务端
    防止失效的连接出现在本连接中。

HTTP/HTTPS 区别、无状态、长连接、短链接

思路 这道题实际上考察的知识点是HTTP与HTTPS的区别,这个知识点非常重要,可以从安全性、数据是否加密。默认端口等这几个方面去回答哈,其实,当你理解HTTPS的整个流程,就可以很好的回答这个问题。
参考答案:
HTTP,也就是超文本传输协议,是一个基于TCP/IP通信协议来传递明文数据的协议。HTTP会存在这几个问题:

  • 请求信息是明文传输,容易被窃听截取
  • 没有验证对方身份,存在被冒充的风险
  • 数据完整性未校验,容易被中间人篡改

HTTPS就是为了解决HTTP出现的问题的
HTTPS=HTTP+SSL/TLS 可以理解为HTTPS就是身上穿着SSL 也就是 Secure Socket Layer 安全套接字的HTTP
他们的主要区别如下:

特点HttpHttps
安全性不安全安全
默认端口80443
资源消耗较少消耗资源较多
是否需要证书不需要需要
报文是否需要加密明文密文
如何理解Http是无状态的?

无状态就是同一个浏览器的请求,服务器不会去记住,因此每一次相应的结果都一样。服务器不会记住你是谁,所以说是无状态协议。

长连接,短链接
  • 1.HTTP分为长连接和短链接,本质上说的是TCP的长短连接。TCP连接是一个双向的通道,它是可以保持一段时间不关闭的,因此TCP连接才具有长连接、短连接的说法。
  • 2.TCP长连接可以复用一个TCP连接,来发起多次的HTTP请求,这样就可以减少资源的消耗,比如请求一次HTML,如果是短连接的话,可能后续还需要请求JS/CSS
  • 3.HTTP1.0默认是短连接,每次请求都需要建立一个TCP连接,它可以设置Connection:keep-alive 这个字段来强行开启长连接。

状态码

思路: 这个面试题主要考察候选人,是否掌握HTTP状态码这个基础知识点。
在这里插入图片描述
日常生活中我们还需要知道开发中几个常见状态码的含义
在这里插入图片描述

cookie和Session

首先要了解session和cookie的概念:
  • Cookie是保存在客户端的一小块文本串的数据。客户端向服务器发起请求时,服务端会向客户端发送一个Cookie,客户端就把Cookie保存起来。在客户端下次向同一服务器再次发请求的时候,Cookie被携带发送到服务器。服务器就是根据这个Cookie来确定身份的。
  • Session 指的是 服务器和客户端一次会话的过程。Session利用Cookie进行信息处理的,当用户首先进行了请求后,服务器就在用户浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味这个Cookie就过期了。
    主要区别:
    在这里插入图片描述
    在这里插入图片描述
  • 用户第一次请求服务器时,服务器根据用户提交的信息,创建对应的Session,请求返回时将此Session的唯一标识信息SessionID返回给浏览器,浏览器接收到服务器返回的SessionID信息后,会将此信息存入Cookie中,同时Cookie记录此SessionID是属于哪个域名。
  • 当用户第二次访问服务器时,请求会自动判断此域名下是否存在Cookie信息,如果存在,则自动将Cookie信息也发送给服务端,服务端会从Cookie中获取SessionID,再根据 SessionID查找对应的 Session信息,如果没有找到,说明用户没有登录或者登录失效,如果找到Session证明用户已经登录可执行后面操作。

URI和URL

  • URI,全称是Uniform Resource Identifier ,中文翻译是统一资源标识符,主要作用是唯一的标识一个资源
  • URL 全称是Uniform Resource Location 中文翻译是统一资源定位符,主要是提供资源的路径
  • URI 更像是一个身份证 URL 更像是一个住址
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值