计算机网络各层有哪些协议? TCP和UDP协议的区别? TCP为什么需要三次握手和四次挥手? HTTP和HTTPS协议的区别? 计算机网络状态码都有哪些 ?cookie和session的区别 ?从浏览器输入ur发生了什么 ?MySQL的drop、 delete与truncate的区别?
时间: 2023-07-12 12:20:53 浏览: 62
1. 计算机网络各层有哪些协议?
计算机网络通常分为七层,自上而下分别是应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。各层的协议如下:
- 应用层:HTTP、FTP、SMTP、DNS、DHCP等。
- 表示层:JPEG、MPEG、ASCII等。
- 会话层:RPC、SSH、TLS等。
- 传输层:TCP、UDP等。
- 网络层:IP、ICMP、ARP等。
- 数据链路层:PPP、Ethernet、WLAN等。
- 物理层:IEEE 802.3、IEEE 802.11等。
2. TCP和UDP协议的区别?
TCP和UDP都是传输层协议,但是它们有以下区别:
- TCP是面向连接的协议,UDP是无连接的协议。
- TCP提供可靠的数据传输,UDP提供不可靠的数据传输。
- TCP保证数据顺序,UDP不保证数据顺序。
- TCP有流量控制和拥塞控制等机制,UDP没有这些机制。
3. TCP为什么需要三次握手和四次挥手?
TCP采用三次握手来建立连接,四次挥手来断开连接。三次握手是为了确保双方的通信能力和可靠性,具体过程如下:
- 第一次握手:客户端向服务器发送请求,请求建立连接。
- 第二次握手:服务器接收到请求,并向客户端发送同意连接的信号。
- 第三次握手:客户端接收到服务器的信号,向服务器发送确认信号。
四次挥手是为了彻底断开连接,具体过程如下:
- 第一次挥手:客户端向服务器发送断开连接的请求。
- 第二次挥手:服务器接收到请求,并向客户端发送确认信号。
- 第三次挥手:服务器向客户端发送断开连接的请求。
- 第四次挥手:客户端接收到请求,并向服务器发送确认信号。
4. HTTP和HTTPS协议的区别?
HTTP和HTTPS都是应用层协议,但是它们有以下区别:
- HTTP是明文传输,HTTPS是加密传输。
- HTTP不提供身份验证和数据完整性保护,HTTPS提供身份验证和数据完整性保护。
- HTTP不需要证书,HTTPS需要证书。
5. 计算机网络状态码都有哪些?
计算机网络状态码表示服务器对客户端请求的响应状态,常见的状态码有以下几种:
- 1xx:信息类,表示服务器已接收到请求,正在处理。
- 2xx:成功类,表示服务器已成功处理请求。
- 3xx:重定向类,表示客户端需要采取进一步的操作才能完成请求。
- 4xx:客户端错误类,表示客户端的请求有误。
- 5xx:服务器错误类,表示服务器在处理请求时发生了错误。
6. cookie和session的区别?
cookie和session都是用于记录客户端状态的机制,但是它们有以下区别:
- cookie是保存在客户端的,session是保存在服务器端的。
- cookie可以设置过期时间,session默认关闭浏览器就失效。
- cookie的大小有限制,session的大小没有限制。
- cookie不安全,可以被篡改,session相对安全。
7. 从浏览器输入url发生了什么?
从浏览器输入url,大致流程如下:
- DNS解析:将域名解析成IP地址。
- 建立TCP连接:浏览器向服务器发起TCP连接请求。
- 发送HTTP请求:浏览器向服务器发送HTTP请求。
- 服务器处理请求并返回HTTP响应:服务器接收到请求后,处理并返回HTTP响应。
- 关闭TCP连接:浏览器接收到响应后,关闭TCP连接。
8. MySQL的drop、delete与truncate的区别?
drop、delete和truncate都是用于删除数据的命令,但是它们有以下区别:
- drop用于删除整个表,包括表结构和数据。
- delete用于删除表中的数据,但是不删除表结构。
- truncate用于删除表中的数据,但是不删除表结构,且速度比delete更快。