什么是TCP三次握手?(重点)
- 客户端向服务端发送带有SYN标志,报文为100(告诉服务端准备开始传输数据)
- 服务端收到报文后,ACK=100+1,同时服务端也携带自己的SYN标志200,发送给客户端
- 客户端再次ACK=200+1给服务端,三次握手结束,客户端开始向服务端发送数据
-
什么是TCP四次挥手?(重点)
因为TCP链接是可以双向通信的(全双工),因此每个方向都必须单独关闭
客户端发送带有FIN标识的给服务端请求通信关闭
- 服务端接收消息后,回复ACK应答,答应关闭通信
- 服务端发送带有FIN标识的信息给客户端,也请求关闭通信
-
为什么是四次挥手,而不是三次?
第二次和第三次不能合并,因为第二次发送完之后,服务端会调用close方法关闭接收消息,而如果合并之后在服务端调用之前发,close方法可能调用是发生阻塞
如果在调用close后发,如果发生阻塞,也迟迟不能回复客户端的请求
浏览器访问一个URL经历了哪些过程?
浏览器向DNS服务器发出解析域名请求
- DNS服务器将域名解析为对应的IP地址,并返回给浏览器
- 浏览器与服务器进行三次握手,建立TCP链接
- 浏览器发出HTTP请求报文
- 服务器回复HTTP响应报文
- 浏览器解析响应报文,渲染HTTP内容,并显示在页面上
- 收发报文结束,释放TCP连接,执行四次挥手
Http请求报文
- 400:客户端请求语法错误
- 401:请求需要需要用户身份认证
- 403:服务器理解客户端的请求,但是拒绝执行此请求
- 404:服务器无法根据客户端请求找到资源
- 405:客户端请求中的方法被禁止
POST与GET请求区别
- GET:请求数据会附加在URL之后以
?
分割,采用ASCII编码 - POST:把数据发在HTTP请求包体中
Linux常用命令
查看进程
# 查看所用进程
ps aux
监控进程
# 动态查看运行中系统使用情况
top
查看内存
free
查看端口信息
# 查看8000端口
lsof -i:8000
HTTP长链接/短链接
- 短连接:建立连接,数据传输,关闭连接
- 长连接:保持TCP连接不断开
OSI七层模型(运维面试重点)
1. 物理层
确保原始的数据可在各种物理媒体上传输。
光导纤维,双绞线等
2. 数据链路层
在不可靠的物理介质上提供可靠的传输。
WiFi
3. 网络层
负责对子网间的数据包进行路由选择。
IP
4. 传输层
传输层是第一个端到端,即主机到主机的层次
TCP,UDP
5. 会话层
管理主机之间的会话进程,即负责建立,管理,终止进程之间的会话
6. 表示层
这一层主要解决用户的语法表示问题
ASII
7. 应用层
这一层为操作系统或网络应用程序提供访问网络服务的接口