首先,在输入网址按下回车以后,这个时候DNS服务器会通过当前的网址去解析网址的 ip;

在查找到真的 IP 以后,这个时候浏览器会向 web 服务器发起一个 tcp 连接请求(三次握手):

第一次:建立链接时,客户端发送 syn 包到服务器,并进入SYN_SENT(传输控制协议)状态,等待服务器确认;

第二次:服务器收到 syn 包,必须确认客户的 syn ,同时自己也发送一个 ack 包,即 syn + ack 包,此时服务器进入 SYN_RECV (服务端被动打开后,接收到了客户端的 syn 并且发送了 ack 时的状态) 状态;

第三次:客户端收到了服务器的 syn + ack 包,向服务器发送确认包 ack ,此包发送完毕,客户端和服务器进入 ESTABLISHED (tcp 连接成功) 状态,完成三次握手;

当三次握手结束后,客户端和服务器就建立好了连接,这时候 tcp 协议断开;

开始访问当前服务器下默认的 index.html ,并调用该访问的资源文件,展示对应的内容

简略描述:一个 url 从输入按下回车键,到页面展示出来,都经历了什么?的更多相关文章

  1. 一个url加载的全过程

    最近在进行前端面试方面的一些准备,遇到了一个经典前端问题,一个url从输入到页面加载中间到底发生了什么,以前也认真想过这个问题,但是当时回答的都不全面,现在来好好总结一下: 总体来说分为以下六个步骤: ...

  2. 请求一个url的全过程

    最近在进行前端面试方面的一些准备,遇到了一个经典前端问题,一个url从输入到页面加载中间到底发生了什么,以前也认真想过这个问题,但是当时回答的都不全面,现在来好好总结一下: 总体来说分为以下六个步骤: ...

  3. 从输入URL按下回车到页面展现,中间发生了什么?

    从输入URL按下回车到页面展现,总的来说发生了一下几个过程: DNS 解析:将域名解析成 IP 地址 TCP 连接:TCP 三次握手 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器 ...

  4. 在浏览器中输入URL按下回车键后发生了什么

    在浏览器中输入URL按下回车键后发生了什么 [1]解析URL[2]DNS查询,解析域名,将域名解析为IP地址[3]ARP广播,根据IP地址来解析MAC地址[4]分别从应用层到传输层.网络层和数据链路层 ...

  5. 从输入一个URL到页面呈现,网络上都发生了什么?

    归纳一下其中涉及到前端的一些基础知识,主要包括:http协议.web标准.w3c标准等.       这个问题虽然只有两个2个动作:输入URL和呈现页面,但这背后发生了很多"有趣" ...

  6. 网易笔试题:浏览器中输入一个url后回车到返回页面信息的过程

    You enter a URL into the browser输入一个url地址 The browser looks up the IP address for the domain name浏览器 ...

  7. 《剑指Offer》第1题(Java实现):在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

    一.题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...

  8. 编写一个C语言函数,要求输入一个url,输出该url是首页、目录页或者其他url

    编写一个C语言函数,要求输入一个url,输出该url是首页.目录页或者其他url 首页.目录页或者其他url 如下形式叫做首页: militia.info/ www.apcnc.com.cn/ htt ...

  9. 输入一个URL到页面呈现其中发生的过程-------http过程详解

    在我们点击一个网址,到它能够呈现在浏览器中,展示在我们面前,这个过程中,电脑里,网络上,究竟发生了什么事情. 服务器启动监听模式 那我们就开始了,故事其实并不是从在浏览器的地址栏输入一个网址,或者我们 ...

随机推荐

  1. seo域名选择

    1-1第一选域名: 1,简单好记,有意义. 2,后缀首选com 其次cn 1-2购买域名网站有 1,阿里云 2,godaddy 3 ,景安 购买是可以在这三个域名平台都看看价格有些不一样.(可以省钱) ...

  2. spark-submit之使用pyspark

    在linux下,执行pyspark代码 —— 实测有效:但是并不是所有的包都能够成功,一些很复杂的包或者对C依赖很深的包例如 numpy, pandas, scipy等,无法通过本方法实现:对一些比较 ...

  3. VSCode安装程序——java开发

    文章:微软为 Java 开发者推出 VSCode 安装程序 文章介绍微软为VSCode提供了开发程序,方便java开发者更好的使用VSCode

  4. 2019-ACM-ICPC-沈阳区网络赛-K. Guanguan's Happy water-高斯消元+矩阵快速幂

    2019-ACM-ICPC-沈阳区网络赛-K. Guanguan's Happy water-高斯消元+矩阵快速幂 [Problem Description] 已知前\(2k\)个\(f(i)\),且 ...

  5. idea插件开发

    用过的group ProjectViewPopupMenu 项目.目录的右键弹出菜单 EditorPopupMenu 编辑器里面的右键弹出菜单 调出右键菜单的关键字 show context menu

  6. Spring框架加案例

    依赖: <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans --> <dependenc ...

  7. <load-on-startup>1</load-on-startup>的作用

    1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法).2)它的值必须是一个整数,表示servlet应该被载入的顺序3)当值为0或者大 ...

  8. ashx 图片上传

    为了方便多出调用图片上传方法       首先我们将图片上传方法抽离出来 创建ashx 一个新的方法 using System; using System.Collections.Generic; u ...

  9. Docker 安装ELK之 zz

    Docker 安装ELK之(2)   加新 2018-10-24 16:23:08 浏览2006 docker LOG js Image service   先安装Docker [root@jiaxi ...

  10. 【原创】go语言学习(六)函数详解2

    目录 变量作用域和可见性 匿名函数 闭包 课后练习 变量作用域和可见性 1.全局变量量,在程序整个生命周期有效. var a int = 10 2.局部变量量,分为两种: 1)函数内定义, 2)语句句 ...