在浏览器输入url回车之后发生了什么?

  1. 浏览器解析URL(https://www.baidu.com/dist/test.html),获得协议(https)、web服务器名(baidu.com)和文件路径(/dist/test.html)等信息
  2. 根据解析URL获取的信息生成HTTP请求报文(请求行 + 消息头 + 消息体)
  3. 客户端去DNS服务器查询web服务器域名对应的IP地址
    1. 域名解析(www.baidu.com):

      1. 客户端向本地DNS服务器发起DNS请求,如果本地有缓存,则直接取出对应web服务器的IP地址返回给客户端
      2. 如果本地没有缓存,则向根域服务器发起请求,它会告诉你去.com域名服务器去找
      3. 然后向.com域名服务器发起请求,它会告诉你去baidu.com域名服务器去找
      4. 最后向baidu.com域名服务器发起请求,它会找到对应web服务器地址的IP地址返回给本地DNS
  4. 为HTTP报文添加TCP头部,添加源端口号+目的端口号等信息
    1. 三次握手建立TCP连接

      1. 客户端(CLOSED),服务端(CLOSED)>>
      2. 客户端(CLOSED),服务端主动监听某端口 >(LISTEN) >>
      3. 客户端发起连接SYN>(SYN—SENT)
      4. 服务端收到SYN,发送SYN + ACK > (SYN-RCVD) 第一次握手
      5. 客户端收到SYN + ACK,发送ACK >(ESTABLISHED) 第二次握手
      6. 服务端收到ACK > (ESTABLISHED)第三次握手
    2. 三次握手的目的就是保证双方都有发送和接收的能力
    3. TCP协议会将过大的数据包分包处理
  5. 为TCP+HTTP+报文添加IP头部 ,添加源IP地址+目的IP地址等信息
  6. 为IP + TCP + HTTP + 报文添加MAC头部,添加源MAC地址+ 目的MAC地址等信息
    1. MAC地址用于两点之间传输(MAC地址是路由器的地址)
  7. MAC + IP + TCP + HTTP + 报文通过网卡发送到交换机
    1. 网卡将数字信号转化为电信号发送出去
  8. 交换机根据报文的MAC地址查找MAC地址,然后将信号发送到对应端口
  9. 报文通过交换机到达了路由器,路由器通过对应的端口将报文发送出去
    1. 路由器与交换机的区别:路由器的每个端口都具有MAC地址与IP地址,交换机的每个端口都只有MAC地址
  10. 数据包终于抵达服务器,服务器根据四个请求头来分发数据。
  11. 分发到HTTP进程,将浏览器请求的数据封装成HTTP响应报文,HTTP响应报文也逐层添加TCP、IP、MAC头部,不过这次的源地址是服务器IP地址,目的地址是客户端IP地址
    1. 响应报文(状态行 + 消息头 + 消息体)
  12. 报文 >> 网卡 >> 交换机 >> 路由器 >> …
  13. 最后客户端收到HTTP响应报文,交给浏览器去响应报文,向服务器发起了TCP四次挥手断开连接

在浏览器输入url回车之后发生了什么?相关推荐

  1. 在浏览器输入url回车后发生了什么

    在浏览器输入url回车后发生了什么 转载 https://www.cnblogs.com/tisikcci/p/5866753.html

  2. 面试环节:在浏览器输入 URL 回车之后发生了什么?(超详细版)

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者 | 4Ark 来源 | https://4ark.me/po ...

  3. 在浏览器输入URL回车之后发生了什么

    一.URL 解析 地址解析: 首先判断你输入的是一个合法的 URL 还是一个待搜索的关键词,并且根据你输入的内容进行自动完成.字符编码等操作. HSTS 由于安全隐患,会使用 HSTS 强制客户端使用 ...

  4. 面试官问:浏览器输入 URL 回车之后发生了什么?

    点击上方"Java后端技术栈",选择"关注公众号" 技术文章第一时间送达! 来源 : https://4ark.me/post/b6c7c0a2.html 前言 ...

  5. 面试题:在浏览器输入 URL 回车之后发生了什么?(超详细版)

    点击上方"悟能之能",选择"设为星标"回复"面经"获取面试资料 来源:https://4ark.me/post/b6c7c0a2.html ...

  6. 关于http:浏览器输入url之后,发生了什么?

    原文链接:当键入网址后,到网页显示,其间发生了什么?这问题被面试官问了五六十次,熬夜赶出这篇文章_小林coding-CSDN博客 原文大佬写的特别好,转载只为了个人添加一些记录. 文章目录 前言 正文 ...

  7. 超细!在浏览器输入xxxhub 回车之后发生了什么?

    # 前言  这个问题已经是老生常谈了,更是经常被作为面试的压轴题出现,网上也有很多文章,但最近闲的无聊,然后就自己做了一篇笔记,感觉比之前理解更透彻了. 这篇笔记是我这两天看了数十篇文章总结出来的,所 ...

  8. 在浏览器输入地址回车后,发生了什么!

    在浏览器输入连接回车后,发生了什么! 一.浏览器查找域名的IP地址 二.浏览器与目标服务器建立TCP连接 三.浏览器通过http协议发送请求 四.某些服务器会做永久重定向响应 五.浏览器跟踪重定项地址 ...

  9. HTTP浏览器输入URL后发生了什么

    原文:"天龙八步"细说浏览器输入URL后发生了什么   慕课大神 本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应 ...

最新文章

  1. php数字加零,php实现数字补零的两种方法
  2. android修改系统设置权限_安卓保护隐私利器!完美解决软件「不给权限就不运行」的小工具...
  3. php查询跳转结果页面,登录判断跳转页面
  4. JS,JQ 格式化小数位数
  5. Flutter之Decoration
  6. java过滤器api_springboot集成过滤器
  7. 玩转oracle 11g(12):卸载
  8. java-生产者消费者模式
  9. 【Arduino】使用C#实现Arduino与电脑进行串行通讯
  10. 召唤AI大神与病毒作战!Kaggle发起CORD-19数据集文本挖掘竞赛
  11. ARM、X86/Atom、MIPS、PowerPC 介绍
  12. 发生了未经处理的异常
  13. 耿丹16-1第一次作业
  14. TypeError: unhashable type: ‘numpy.ndarray‘
  15. Atitit office ooxml 系列 excel的读取api 框架 poi的使用
  16. 图解通信原理与案例分析-33:传感器种类以及传感器工作原理详解
  17. 一个初学者的辛酸路程-函数-4
  18. PHP操作MongoDB技術總結
  19. 【Wechat】微信支付APIV3(商户) 接入批量转账到零钱
  20. Windows XP中自动登录设置

热门文章

  1. 智能养殖监控系统实现蛋鸡养殖规模化
  2. 【论文阅读】注意力机制与二维 TSP 问题
  3. python求伽马分布模型参数_Python实现的各种常见分布算法示例
  4. [乐意黎转载]云南公务员招录计划中将增加残疾人指标!
  5. 破解可读不可复制的 U 盘
  6. Coursera SQL for Data Science - Notes
  7. 【Reference reading】用19F标记的BPA-果糖复合物在C6老鼠胶质瘤模型的19F MRI和19F MRS来优化硼中子捕获治疗(BNCT)
  8. 基于百度地图API的交通可达性分析python
  9. 基于imx6ul平台移植ohos3.0.3LTS小型系统之添加产品编译框架
  10. java d打字游戏_java实现快速打字游戏