计算机网络简单通识

TCP、UDP的区别

TCP需要先建立连接,而UDP不需要。所以TCP是可靠的,通过确认重发机制去保证数据的可靠传输,UDP是不可靠的,数据包可能会丢失重复乱序。

TCP适用于对数据准确性要求高的场合,例如网页浏览,电子邮件,文件传输。

UDP适合对于速度要求高可以容忍一定丢失的场合,例如抖音直播。

HTTP和HTTPS的区别

  1. HTTPS是HTTP的增强版,在HTTP的基础上加入了SSL/TSL协议,确保数据在传输过程中是加密的。SSL/TLS需要向CA申请数字证书,用于验证服务器的身份。
  2. HTTP默认端口号是80,HTTPS默认端口号是443。
  3. 客户端请求服务端后,服务端确定加密和hash算法,返回证书和公钥,客户端生成随机密钥,发送密钥,服务端用私钥解密,获取会话密钥,使用会话密钥加密解密。

Cookie和Session的区别

Cookie是保存在客户端的一小块文本串的数据。客户端向服务器发起请求时,服务端会向客户端发送一个cookie,客户端就把cookie保存起来,下一次请求可以携带cookie请求,服务端根据cookie判断用户的身份和状态。

Session指的是服务器和客户端一次会话的过程。它是另一种记录客户状态的机制,session保存在服务器上。

OSI网络七层协议模型

OSI是理论上的网络通信模型,分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP四层模型是实际应用层面上的网络模型,分为网络接口层、网络层、传输层、应用层。

应用层:直接面向用户和应用程序提供网络服务,例如HTTP。

传输层:负责端到端的传输,确保数据可靠传输,常见的传输层协议有TCP和UDP。

网络层:负责多个网络之间的数据传输功能,常见协议是IP协议。

网络接口层:负责数据帧的传输,定义了网络在链路上如何传输数据。

TCP三次握手,四次挥手

  1. 第一次握手:SYN

发起连接:客户端发送一个TCP报文到服务器,在报文的头部中,SYN位被设置为1,表明是一个连接请求。同时客户端会随机一个seq序列号,假设为x发送给服务器。

  1. 第二次握手:SYN+ACK

确认并应答:服务器收到客户端的请求连接之后,如果同意建立连接,他会发送一个应答的TCP报文段,在这个报文段中,SYN和ACK位置都被设置为1。服务器也会选择自己的一个随机序列号假设为y,并将确认号设置为x+1。

  1. 第三次握手:ACK

最终确认:服务端收到服务器的应答后,还需要向服务器发送一个ACK,确认号被设置为y+1,自己的序列号是x+1。

三次握手需要双方都确认收发功能,所以不能是两次,而且两次会有历史请求突然传到服务端的问题。四次的话因为三次已经完整确认了收发功能所以不需要四次。

  1. 第一次挥手:FIN

客户端向服务端发送一个FIN报文,表示客户端没有数据要发送了,但仍然可以接受数据。

  1. 第二次挥手:ACK

服务端收到FIN报文之后,向客户端发送一个ACK报文,表示确认收到客户端的FIN请求。

  1. 第三次挥手:FIN

服务器向客户端发送一个FIN报文,表示服务器也没有数据要发送了。

  1. 第四次挥手:

客户端收到FIN报文之后,向服务器发送一个ACK报文,确认已经接收到服务器的FIN请求,会等待一段时间进入closed状态确保服务端收到ACK报文。

浏览器输入URL到页面展现的整个过程

  1. DNS解析:浏览器发起一个DNS请求到DNS服务器,将域名解析为服务器的IP地址。
  2. TCP链接:在获得IP地址后,需要与服务端建立TCP连接才能通信,也就是要经历TCP三次握手。
  3. 发送HTTP请求:在建立连接之后,我们就可以和服务端进行通信了,我们浏览器会构建HTTP请求,包含请求行、请求头、请求体,然后发送HTTP请求。
  4. 服务器收到HTTP请求:服务器在收到HTTP请求之后,会根据请求的资源路径,经过后端处理返回HTTP响应。
  5. 浏览器接收到HTTP响应:解析响应体中的数据,渲染页面。
  6. 断开链接:TCP四次挥手,连接结束。

常见状态码以及它们的含义

101 切换请求协议

200 请求成功

301 永久重定向

302 临时重定向

400 请求的语法错误

401 当前请求需要认证

403 服务器拒绝执行

404 服务器找不到资源

500 服务器内部错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值