前言:本文中不会牵扯太深的原理内容,只会让你理解一下大略流程,待你当前真正开始学习相干常识的时候,不至于一头雾水。如果你是一个初学者,那么本文会对你有启蒙作用,如果你是一个心愿深刻理解原理的阅读者,那么可能本文不适宜你。
一. 我输出了一个网址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 的文件。
至此,大略流程就是这些,这期间还有很多常识须要你深刻理解。文本只是给你一个概念。