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. 物理层
相关推荐
呉師傅30 分钟前
佳能iR-ADV C5560复印机如何扫描文件到电脑
运维·网络·windows·计算机外设·电脑
半梦半醒*1 小时前
Linux网络管理
linux·运维·网络·centos·运维开发
神秘人X7071 小时前
Linux网络配置全攻略:IP、路由与双机通信
linux·网络·tcp/ip
hhh123987_1 小时前
以太网基础⑥ ZYNQ PS端 基于LWIP的TCP例程测试
网络·网络协议·tcp/ip
Lfsd1 小时前
根据ip获取地址库
网络·网络协议·tcp/ip
程序员编程指南3 小时前
Qt 网络编程进阶:RESTful API 调用
c语言·网络·c++·qt·restful
香蕉割草机4 小时前
高性能网络DPDK、RDMA、XDP初探
网络
喵手5 小时前
Java 11 新特性:从模块化到 HTTP/2 深度解析
java·开发语言·http
程序员编程指南5 小时前
Qt 网络编程进阶:网络安全与加密
c语言·网络·c++·qt·web安全
未来之窗软件服务5 小时前
基于 Nginx 与未来之窗防火墙构建下一代自建动态网络防护体系—仙盟创梦IDE
网络·ide·nginx·服务器安全·仙盟创梦ide·东方仙盟