简友广场

面试之网络篇

2020-07-01  本文已影响0人  想要时光机

一 网络7中模型

二 TCP/IP原理

TCP/IP协议是因特网整个TCP/IP协议家族,由四个层次组成:网络接口层,网络层,传输层,应用层

三次握手

  1. 第一次握手:主机A发送位码未syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道A要求建立联机
  2. 第二次握手:主机B收到请求后要确认联机信息,向A发送ack number = (主机Ad seq+1) syn=1,ack=1 随机禅城seq=7654321的包
  3. 第三次握手:主机A收到后检查ack number是否正确,既第一次发送的seq number+1以及位码ack是否为1 若正确主机A会在发送ack number= 主机Bd seq+1 ,ack=1 主机B收到后确认seq与ack=1则建立成功

四次挥手

  1. 关闭客户端到服务器的连接
  2. 服务器厚道这FIn,发挥-个ACK,确认为ack收到的序号+1
  3. 关闭服务器到客户端的链接,发送一个FIn给客户端
  4. 客户端收到FIn,发挥一个ACK,确认序号seq为收到序号+1

进行关闭的一方执行主动关闭,另一方执行被动关闭

HTTP原理

http是无状态的协议,客户机和服务器之间不需要建立持久的连接。请求连接包含:

http请求包含 :

  1. 地址解析:域名系统dns解析域名得到主机的Ip地址
  2. 封装http请求数据包:将地址中包含信息结合本机信息封装成一个http请求包
  3. 封装成TCP包并建立连接:Tcp的三次握手
  4. 客户机发送请求命 :请求方格式:URl,协议版本号,MIME信息:包含请求修饰符,客户机信息
  5. 服务器响应:返回状态行:信息的协议版本号,成功/错误吗。mime信息
  6. 服务器关闭TCP链接

如果浏览器或者服务器在头部信息加入Connection:keep-alive,tcp链接在发送后然保持打开状态,节省为每个请求建立新链接的时间,节约网络带宽

http常用状态吗

状态码 含义
100 继续
101 切换协议
200 ok
301 永久移动
302 Found(临时移动)
304 Not Modified(未修改)
305 USe Proxy(是使用代理)
400 Bad Request(错误请求)
401 Unauthorized(未授权)
403 Forbidden(禁止访问)
405 Method Not Allowed(不允许使用该方法)
500 Internal Server Error(内部服务器错误)
502 Bad Gateway(网关错误)
503 Service unavaliable(服务不可用)
504 gateway Timeout(网关超时)
505 http Versio Not Supported(HTTP版本不受支持)

HTTPS

https是以安全为目标的http通道,是http的安全办,在http层下加入ssl层
端口好是443

Q : http和https的区别

Q: 网络模型

物理层,数据链路层,网路层,传输层,会话层,表示层,应用层

Q: http协议中状态吗的含义:301,302,304,502,504,403

Q:Nginx日志499 502 报错状态码

  1. 502后端主机宕机,向服务器发送请求,由于服务器当前连接太多,导致无感给予正常的响应
  1. 499 client has closed connection 服务区端处理时间长,客户端断开连接
    • 是否post过快产生,ngix任务是不安全的链接,主动拒绝 可以使用 proxy_ignore_client_abort on
    • 通过配置php-fpm.conf,控制子进程
    pm = dynamic 动态路由选项配置
    pm.max_children = 16 子进程最大数
    pm.start_servers = 4 启动时的进程数
    pm.min_spare_servers = 2 空闲进程数最小值,如果空闲进程小于此值,则创建新子进程
    pm.max_spare_servers = 16 保证空闲进程数最大值,如果空闲进程大于此值,此进行清理
    

Q: Nginx的工作方式

  1. nginx在启动后会有一个master进程和多个worker进程。master进程是管理worker进程的,向worker进程发送信号监控。worker进程的个数可以设置。
  2. ngix在启动时会解析配置文件,得到需要监听的端口额ip,然后再nginx的master进程红初始化监控的socket,然后fork多个子进程,子进程进行accept竞争链接

Q 正向代理和反向代理

正向代理代理的是客户端,反向代理代理的是服务端

上一篇下一篇

猜你喜欢

热点阅读