地址栏里输入一个网址敲下回车会发生什么?

前言:本文中不会牵扯太深的原理内容,只会让你了解一下大概流程,待你以后真正开始学习相关知识的时候,不至于一头雾水。如果你是一个初学者,那么本文会对你有启蒙作用,如果你是一个希望深入了解原理的阅读者,那么可能本文不适合你。

一.我输入了一个网址www.baidu.com

当你输入网址的时候浏览器并不认识这一段信息。那么把你输入的地址,解析成浏览器识别的地址的这一过程就叫做DNS解析。
D:domain 领域 ,N:name ,S:system 域名系统
如果你开始了解到这一步的话,我相信你对于 对象这个概念应该很熟悉了。这个系统对于初学者来说,你也可以把它当作一个对象来看待。也是key域名value实际ip地址 的映射关系。

DNS {“www.baidlu”=“1xx.x.x.x”,“localhost”=“127.0.0.1”…}

这个对象存放着互联网所有的 域名和实际IP地址的映射关系。为什么要有域名就好比你手机为什么要有通讯录一样,你可以直接把所有电话号码都记下,但是没必要也不方便,比如你给10086起名为女朋友,因为只有10086才会在节假日给你祝福。你也可以直接通过女朋友这个联系人来给10086打电话。DNS系统存在的意义也是这样的。

二.TCP的三次握手

传输控制协议(英语:Transmission Control Protocol
你需要首先明白的一点是DNS解析以后仅靠拿到手的真实ip地址是干不了任何事的。

第一次握手:首先浏览器会发送一个SYN包给服务器,SYN的解释节选自百度百科,你暂时不需要深入了解这个名词到底什么意思。它是用来确定服务器是否在吗(脑子第一时间想出来这个词,并且觉得还行!)这是否像极了你追你女朋友时第一次聊天,第一句话“在吗?”。

image.png

第二次握手 :然后如果服务器在!那么服务器会发送 SYN和ACK包给浏览器。也就是你女朋友回复你了,然后你们才可以有下一步的话题。
ACK代表的意思更像聊天里的:我在!请你继续说

image.png

第三次握手 :这次握手是浏览器给服务端说的话,浏览器端:ok我也在。
image.png

到这里你仅仅只是用到了 baidu.com你输入到地址栏里的这几个代码。
image.png

到这里你要知道,浏览器是所求数据的那一方,浏览器是给予你数据的一方,你现在仅仅是知道了,你所求服务器的真实地址(DNS)和建立连接并且确定建立链接成功(三次握手)。接下来才是我们的重量级前面代码http的showtime。

http:hyper text transfer protocol超文本传输协议。

它的主要作用就是用来约定客户端和服务器端沟通的方式,来传输数据。你可以抽象的这样认为。A和B在进行一项交易,A说咱们都用中文交流,B说:咱都用英语交流。结果谁都不肯屈服谁,这生意没法做。这时候出来一个神秘组织规定,这项交易我们统一规定用法语交流,谁不遵守谁退出。所以你也没必要纠结为什么,http只是规定而已,它并没有具体的功能。

即然你是所求(request)的一方,那么你就会有你想要东西的具体内容。这个过程和你去超市买东西一样,你确定了超市的真实地址,并且确定了超市在营业期间。ok,接下来就是你确定自己具体要买哪些东西的时候了。http协议有四部分组成,请求行,请求头,空行,请求数据。(具体作用本文不讨论,请自行深入了解)当服务器收到你的请求后,会给你一个回应response。也有四部分组成,状态行,响应头部,空行,相应数据

接下来浏览器就会开始解析相应数据,html和css和js的文件。

至此,大概流程就是这些,这期间还有很多知识需要你深入了解。文本只是给你一个概念。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当用户在浏览器的地址栏中输入内容并按下回车键时,浏览器经历以下步骤来打开网页: 1. 解析URL:浏览器解析用户输入的URL(统一资源定位符),URL包含了要访问的网页的地址和其他参数。 2. DNS解析:浏览器向域名系统(DNS)服务器发送一个请求,以获取输入URL中所包含的网址的IP地址。DNS服务器将返回对应的IP地址,使得浏览器能够与服务器建立连接。 3. 建立连接:浏览器使用HTTP或HTTPS协议与服务器建立连接。对于HTTPS协议,还进行SSL/TLS握手过程来建立安全连接。 4. 发送请求:浏览器向服务器发送一个HTTP请求,其中包含了用户请求的网页和其他相关信息,如请求方法(GET、POST等)和请求头部(包含浏览器的信息、支持的数据格式等)。 5. 服务器处理请求:服务器接收到浏览器发送的请求后,根据请求的内容进行处理。这可能包括读取数据库、执行动态代码等操作。 6. 响应生成:服务器处理完成后,生成一个HTTP响应。响应中包含了网页的内容、状态码(表示请求成功或失败的数字代码)和其他相关信息。 7. 接收响应:浏览器接收到服务器发送的HTTP响应后,开始解析响应。浏览器根据响应头部的信息来判断如何处理响应内容。 8. 渲染页面:如果响应中的状态码表示成功(例如200),浏览器开始渲染页面。它解析HTML、CSS和JavaScript代码,构建DOM树和渲染树,并将网页内容显示在浏览器窗口中。 9. 下载资源:在渲染页面的过程中,浏览器可能发现页面中引用了其他资源,如图像、样式表、脚本文件等。浏览器发送请求来下载这些资源,并将其添加到页面中。 10. 执行脚本:如果页面包含了JavaScript代码,浏览器执行这些脚本,以实现交互和动态效果。 11. 网页加载完成:当所有的资源都被下载并且页面完成渲染时,浏览器触发页面加载完成的事件。 这是一个简要的描述,实际上,浏览器的工作过程还涉及到缓存机制、安全策略、优化算法等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值