美文网首页
网页显示全过程实录

网页显示全过程实录

作者: 菜菜爱学习 | 来源:发表于2016-03-25 10:17 被阅读0次

    我们在浏览器地址栏, 输入了 www.sina.com.cn , 网页就显示出来了.
    那具体它为什么会显示出来的?

    <b>我们先来一个简单版的解答</b>

    • 输入网址, 回车后, 你的浏览器知道你要请求 www.sina.com.cn 这个网页, 于是便把你的这个请求, 按照约定的格式封装成一个数据包, 通过网络去告诉了远端的服务器.
    • 服务器接收到了这个请求, 七转八折告诉了PHP, PHP根据请求的不同, 输出了不同内容, 再同样按照约定的格式封装成一个数据包, 通过网络给到了浏览器.
    • 浏览器接收到这些内容, 解析出来, 网页就显示出来啦.

    <b>嗯, 还有几个问题?</b>

    • 问: 我输入了一个网址, 知道发到哪个服务器去?
      答: 每一个域名, 都可以解析出来一个IP, 这个过程叫DNS解析. 在浏览器输入网址后, 其实浏览器先去DNS服务器问了这个域名的IP, 然后再发包. (IP就像门牌号, 可以定位到服务器)

    • 问: 我们经常说 Web服务要80端口, 是个什么东东?
      答:

    端口可以理解成家里的门. 两台机器通信, 需要互相打开一扇门, 然后通过门来传递信息.

    服务器上有防火墙, 可以关掉所有门. 如果你的服务器提供 Web服务, 就打开80这扇门. 打开后, 浏览器发送数据到你服务器IP+这扇门(80端口), 才能完成正常通信.

    当然, 80不是必须的, 你也可以在服务器开启81, 82, 8080等端口来提供Web服务.
    这个时候你输入的网址就必须是 xxx.com:81 yyy:com:82 zzz.com:8080 才能正常访问.
    如果是80就不必加后面的[:端口]的部分啦, 当然加上也没问题. 对于浏览器而言 xxx.com:80 等于 xxx.com

    > 聪明的菜菜有木有发现, 服务器开了一扇门: 80端口, 为了通信, 浏览器所在的机器是不是也应该开一扇门才能互相传递信息呀. 
    

    其实浏览器已经偷偷开了, 他开了一个1024-65534的随机端口来通信.

    关于这部分的网络通信, 说来话长, 总之先有这样一个概念在就好啦.

    <div align = "center"><< 目录 >></div>

    相关文章

      网友评论

          本文标题:网页显示全过程实录

          本文链接:https://www.haomeiwen.com/subject/loorlttx.html