前言:本文中不会牵扯太深的原理内容,只会让你理解一下大略流程,待你当前真正开始学习相干常识的时候,不至于一头雾水。如果你是一个初学者,那么本文会对你有启蒙作用,如果你是一个心愿深刻理解原理的阅读者,那么可能本文不适宜你。
一.我输出了一个网址www.baidu.com
当你输出网址的时候浏览器并不意识这一段信息。那么把你输出的地址,解析成浏览器辨认的地址的这一过程就叫做DNS解析。
D:domain 畛域 ,N:name ,S:system 域名零碎
如果你开始理解到这一步的话,我置信你对于 对象这个概念应该很相熟了。这个零碎对于初学者来说,你也能够把它当作一个对象来对待。也是key域名
和value理论ip地址
的映射关系。
DNS {"www.baidlu"="1xx.x.x.x","localhost"="126.0.0.1"...}
这个对象寄存着互联网所有的 域名和理论IP地址的映射关系。为什么要有域名就好比你手机为什么要有通讯录一样,你能够间接把所有电话号码都记下,然而没必要也不不便,比方你给10086起名为女朋友,因为只有10086才会在节假日给你祝愿。你也能够间接通过女朋友这个联系人来给10086打电话。DNS零碎存在的意义也是这样的。
二.TCP的三次握手
传输控制协议(英语:Transmission Control Protocol
你须要首先明确的一点是DNS解析当前仅靠拿到手的实在ip地址是干不了任何事的。
第一次握手:首先浏览器会发送一个SYN包给服务器,SYN的解释节选自百度百科,你临时不须要深刻理解这个名词到底什么意思。它是用来确定服务器是否在吗
(脑子第一工夫想进去这个词,并且感觉还行!)这是否像极了你追你女朋友时第一次聊天,第一句话“在吗?”。
第二次握手 :而后如果服务器在!
那么服务器会发送 SYN和ACK包给浏览器。也就是你女朋友回复你了,而后你们才能够有下一步的话题。
ACK代表的意思更像聊天里的:我在!请你持续说
第三次握手 :这次握手是浏览器给服务端说的话,浏览器端:ok我也在。
到这里你仅仅只是用到了 baidu.com
你输出到地址栏里的这几个代码。
到这里你要晓得,浏览器是所求数据的那一方,浏览器是给予你数据的一方,你当初仅仅是晓得了,你所求服务器的实在地址(DNS)和建设连贯并且确定建设链接胜利(三次握手)。接下来才是咱们的重量级后面代码http
的showtime。
http:hyper text transfer protocol超文本传输协定。
它的次要作用就是用来约定客户端和服务器端沟通的形式,来传输数据。你能够形象的这样认为。A和B在进行一项交易,A说咱们都用中文交换,B说:咱都用英语交换。后果谁都不肯屈从谁,这生意没法做。这时候进去一个神秘组织规定,这项交易咱们对立规定用法语交换,谁不恪守谁退出。所以你也没必要纠结为什么,http只是规定而已,它并没有具体的性能。
即然你是所求(request)的一方,那么你就会有你想要货色的具体内容。这个过程和你去超市买货色一样,你确定了超市的实在地址,并且确定了超市在营业期间。ok,接下来就是你确定本人具体要买哪些货色的时候了。http协定有四局部组成,申请行,申请头,空行,申请数据。(具体作用本文不探讨,请自行深刻理解)当服务器收到你的申请后,会给你一个回应response。也有四局部组成,状态行,响应头部,空行,相应数据
接下来浏览器就会开始解析相应数据,html和css和js的文件。
至此,大略流程就是这些,这期间还有很多常识须要你深刻理解。文本只是给你一个概念。