http 请求流程,网络的七层模型

浏览器的【网络进程】开始发起http请求,具体步骤如下:

  1. 应用层【也就是浏览器的网络进程】发起http请求

  2. 传输层 tcp 三次握手建立连接

  3. http 请求加上 tcp 头部,包括源端口号,目的端口号和用于校验数据完整性的序号,向下传输【这里的上下是计算机网络模型中抽象的上下】

  4. 网络层在数据包上加上 ip 头部,包括源 ip 地址和目的 ip 地址,向下传输

  5. 数据链路层/物理层 通过物理网络传输给服务器主机

  6. 服务器主机网络层收到数据包,解析 ip 头部,识别数据部分,向上传输

  7. 服务器主机传输层收到数据包,解析 tcp 头部,识别端口,识别数据部分,向上传输到应用层

  8. 服务器主机应用层 http 解析请求头和请求体,根据各种头部信息进行后续操作

    1. 301/302重定向,根据location字段重定向

    2. 304 使用缓存

    3. 200 成功,返回响应数据

  9. 响应数据原路返回应用层-传输层-网络层-网络层-传输层-应用层

  10. 数据传输完成,浏览器的网络进程收到响应数据

这里面有个面试题,网络的OSI 七层模型 和 五层模型分别是那些?

(1)ISO 组织制定的OSI七层模型分别是

  1. 应用层 (SMTP / FTP/ http / dns)
  2. 表示层
  3. 会话层 (tls /ssl)
  4. 传输层(tcp / udp )
  5. 网络层 (ip)
  6. 数据链路层( MAC 地址)
  7. 物理层

(2)tcp/ip的五层模型

  1. 应用层
  2. 传输层
  3. 网络层
  4. 数据链路层
  5. 物理层
相关推荐
Eric.Lee202114 小时前
查看ubuntu机器正在使用的网络端口
网络·ubuntu·php
Zero-Talent14 小时前
TCP/IP协议
运维·服务器·网络
Du_chong_huan14 小时前
1.7 计算机网络和因特网的历史 | 《计算机网络:自顶向下方法》精读版
运维·服务器·网络
Java成神之路-15 小时前
DNS 与 CDN 底层原理深度剖析:从域名解析到内容分发全链路解析
网络·网络协议·tcp/ip
AI浩16 小时前
UCAN:用于轻量级超分辨率中扩展感受野的统一卷积注意力网络
网络
echome88817 小时前
Python 异步编程实战:asyncio 核心概念与最佳实践
开发语言·网络·python
Predestination王瀞潞17 小时前
5.4.3 通信->WWW万维网内容访问标准(W3C):WWW(World Wide Web) 协议架构(分层)
前端·网络·网络协议·架构·www
喵喵爱自由17 小时前
Docker容器共享宿主机-安全网络
网络·安全·docker
星爷AG I17 小时前
15-6 威胁性信息(AGI基础理论)
网络·agi
旺仔.29117 小时前
Linux系统基础详解(二)
linux·开发语言·网络