当我们打开浏览器,输入自己想要的网站,我们需要的一切都展示在我们面前,我们有没有想过,这一切是怎么发生的?
首先当你输入一个网站的时候,你的浏览器会先通过域名,来查找它所对应的ip地址,因为域名是用来让人看得,而机器只能看IP地址。
如果你想给李四打电话,你首先要告诉手机,我要和谁通电话,手机肯定不会去识别李四这个人,而是去识别李四的手机号码。
Dns
而我们的访问网站也是如此,我们会借助一个服务器,专业名词叫做DNS。那么什么是DNS?
Dns属于互联网的一个公用的服务,专门用来帮助我们去查找域名背后的ip地址。实际上,我们注册域名的时候,你的域名去哪里了?持久化哪里?
当然域名会保存在dns服务器上,这样,需要去查询域名信息的时候,dns就发挥了作用,它会告诉你你要找的网站的地址是什么。
有了ip地址我们去做什么
我们会去和服务器发送我要连接你的一个请求,这时候我们发送的包给了服务器,通过一定的路由规则到达服务器。
那我们来说下路由器,路由器我们上网家里必须具备的。但是整个互联网也是由大大小小的路由器和交换机组成的,路由器的作用就是判断你的请求发往哪里。
随着路由层次的增加,我们请求的数据包,将到达你的服务器。
连接
到达服务器后服务器不一定接受你的请求,比如说服务器负重太多,已经有很多请求了,资源不够用。又或者你的请求不是合法的,服务器也会选择拒绝接受。
假设是一个正常的请求,并且服务器资源够用,服务器也会给你返回一个包,告诉你,你可以连我了。然后浏览器收到这个包,然后发送自己的确认包。
响应
完成建立连接请求,客户端和服务器之间可以正常传送数据,服务器根据你的数据请求体和请求头解析你需要什么东西,也许是一个文件,也许是数据库里的数据。服务器发送给浏览器这个过程,我们称它为响应。
解析
浏览器解析返回的信息,拆解浏览器需要的东西,并且把这些信息不直接展示出来,比如你收到的json数据包,普通用户是看不懂得,这个时候,你需要用js,css,html把它解析出在页面当中可以展示的各种数据