计算机网络知识点

byjiangjb Lv2

TCP与UDP

区别

1、他们都是位于传输层的协议 , tcp全称传输控制协议, udp全称用户数据报协议
2、tcp是可靠且有连接,udp是非可靠且无连接
3、tcp面向字节流, udp面向报文
4、tcp发送数据要进行三次握手、四次挥手,对数据会做适当的拆分、拼接、重发; udp发送数据是想法就发、想停就停
5、udp没有拥塞控制机制,以恒定的速度发送数据,在网络不好的情况下任然继续发送数据,可能发生丢包; tcp有拥塞控制机制,当网络出现拥塞时减少数据发送的速率和数量,缓解拥塞; 当发生丢包时会重传数据
6、tcp只能一对一通信; udp支持一对一、一对多、多对多和多对一交互通信
7、tcp适用于可靠传输的应用,如文件传输; udp适用于实时应用,如IP电话、视频会议、直播等

三次握手

第一次握手(SYN):客户端向服务器发送一个连接请求报文段,报文段中包含SYN(同步序列号)标志位,并随机选择一个初始序列号(ISN)。
第二次握手(SYN/ACK):服务器接收到客户端的连接请求报文段后,向客户端发送确认报文段,报文段中包含SYN(同步序列号)和ACK(确认序列号)标志位,确认号为客户端的初始序列号+1,同时服务器也随机选择一个初始序列号。
第三次握手(ACK):客户端接收到服务器的确认报文段后,向服务器发送确认报文段,报文段中包含ACK(确认序列号)标志位和确认号,确认号为服务器的初始序列号+1

四次挥手

第一次挥手(FIN):(客户端–>服务器)客户端向服务器发送一个FIN(结束)报文段,请求关闭连接。客户端不再发送数据,但仍能接收服务器端的数据。
第二次挥手(ACK):(服务器–>客户端)服务器接收到客户端的FIN报文段后,发送一个ACK(确认)报文段作为响应,告诉客户端已经收到关闭请求。
第三次挥手(FIN):(服务器–>客户端)服务器向客户端发送一个FIN报文段,请求关闭连接。服务器不再发送数据,但仍能接收从客户端发来的数据。
第四次挥手(ACK):(客户端–>服务器)客户端接收到服务器发送的FIN报文段后,发送一个ACK报文段作为响应,告诉服务器已经收到关闭请求。此时,客户端和服务器之间的连接已经正式关闭。

HTTP与HTTPS

区别

  • 安全性:HTTPS提供了数据传输的安全性,通过加密数据来保护用户的隐私和信息安全,而HTTP不提供加密保护。
  • 端口:HTTP通常使用端口80,而HTTPS通常使用端口443。
  • URL前缀:HTTP的URL以”http://“开头,而HTTPS的URL以”https://“开头,这是浏览器用于识别协议的标志。
  • 使用场景:HTTPS适合于需要保护敏感数据的应用,如电子商务网站、银行网站和社交媒体,而HTTP可以用于不涉及敏感信息的一般网页浏览

HTTPS加密过程(非对称加密)

  1. 客户端请求:客户端(通常是浏览器)发起一个HTTPS连接,向服务器请求一个安全的通信通道。
  2. 服务器响应:服务器回应客户端请求,提供自己的SSL/TLS证书,其中包括服务器的公钥和其他相关信息。
  3. 证书验证:客户端验证服务器的SSL/TLS证书,确保它是由受信任的证书颁发机构(CA)签发的,未过期,并且与服务器的域名匹配。
  4. 密钥生成:如果证书验证成功,客户端会生成一个随机的”Pre-Master Secret”,然后使用服务器的公钥加密该密钥,将其发送回服务器。
  5. 密钥协商:服务器接收到客户端发送的加密的”Pre-Master Secret”后,使用自己的私钥解密它,获得相同的随机密钥。
  6. 会话密钥生成:客户端和服务器都使用这个共享的随机密钥来生成会话密钥(Session Key),该密钥用于加密和解密数据传输。
  7. 安全通信:一旦会话密钥建立,客户端和服务器之间的所有数据传输都使用该密钥进行加密和解密,确保数据的保密性和完整性。

简单点说,就是客户端向服务器发起连接请求安全通信,服务器向客户端发送自己的证书,客户端进行验证,验证成功之后客户端生成密钥并用服务器的公钥加密,服务器收到之后再用服务器的私钥解密,这样就生成了会话密钥,这样就可以安全通信了。

HTTP状态码

1XX 表示请求信息
2XX 表示成功状态
3XX 重定向状态 304 Not Modified 请求资源与本地缓存相同,未修改
4XX 客户端错误 403 Forbidden禁止访问 404 Not Found请求内容未找到 400 请求错误
5XX 服务器错误 500服务器端程序错误

HTTP请求方式有哪些

GET、POST、PUT、DELETE

GET和POST的区别

1.get请求一般是去取获取数据(其实也可以提交,但常见的是获取数据)。post请求一般是去提交数据。
2.get参数会放在url中,所以隐私性,安全性较差,请求的数据长度是有限制(一般是2-8K,常见的是1K)的。post请求参数是放在body中,没有的长度限制。
3.get请求可以被缓存,post请求不会被缓存。
4.get请求会被保存在浏览器历史记录当中,post不会。get请求可以被收藏为书签,因为参数就是url中,但post不能。它的参数不在url中。

  • Title: 计算机网络知识点
  • Author: byjiangjb
  • Created at : 2023-07-21 20:41:26
  • Updated at : 2023-09-21 21:04:36
  • Link: https://redefine.ohevan.com/2023/07/21/计算机网络知识点/
  • License: This work is licensed under CC BY-NC-SA 4.0.