Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
  • HTTP

    • Get 与 Post
    • 状态码&字段
    • 输入URL到返回页面全过程
      • 浏览器输入URL到返回页面的全过程
    • HTTP
    • HTTP演进
    • HTTPS
    • WebSocket
    • RPC
    • 粘包问题
    • Java中的网络请求
    • 请求报文与响应报文
    • HTTP如何保存用户状态
    • 长连接与短连接
    • SSL TLS
  • TCP

  • UDP

  • IP

  • 网络安全

  • 计算机网络
  • HTTP
Nreal
2023-11-23
目录

输入URL到返回页面全过程

# 浏览器输入URL到返回页面的全过程

  1. 浏览器解析URL ,根据Web服务器和文件名,生成HTTP请求报文;

  2. 根据域名,进行 DNS 域名解析,查询DNS服务器域名对应的IP地址

    DNS服务器保存了Web服务器域名与IP对应关系,先从本地DNS服务器找,找不到去根DNS服务器,再找不到去顶级域DNS服务器,权威DNS服务器;

  3. 拿到 IP 地址,把HTTP的传输工作先交给操作系统中的协议栈;

    协议栈相当于一份指南,有两部分,一部分是负责收发数据的TCP/UDP协议,另一部分是用IP协议控制网络包收发操作;

    IP协议中还包括:ICMP,ARP;

    ICMP 用于告知网络包传送过程中产生的错误以及各种控制信息。

    ARP 用于根据 IP 地址查询相应的以太网 MAC 地址。

  4. 所以再发送HTTP请求前,先三次握手建立TCP连接

  5. 服务器处理请求,返回HTTP报文

  6. 浏览器解析渲染页面

  7. 四次挥手关闭TCP连接

状态码&字段
HTTP

← 状态码&字段 HTTP→

Theme by Vdoing | Copyright © 2021-2024
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式