而HTTP报文是HTTP协议一种纯文本的数据格式,分为请求报文和响应报文,两种报文都具有类似的结构,分别由三个部分构成:起始行、首部、主体。
当一个你用你的电脑登录一个网站时,通过HTTP协议将这个你请求的这个“内容”封装到HTTP请求报文之中,然后,服务器收到这个请求报文之后,根据协议规范解析报文,然后给你返回相应报文之后,你才能看到你想要看的网站页面。TCP的中文名叫做传输控制协议,是供已经连接因特网的计算机进行通信的通信协议。TCP是互联网协议之一,也是主要的协议之一。
TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。所以讨论这个问题,必须要涉及到TCP这个东西。
2、计算机是怎么在全球这么多设备里,找到我要的那个网站的?说完上面四个基础概念,我们再绕回题目本身。老杨首先要纠个错啊,计算机本身是不会找到你想要的那个网站的,它只是了解到你的“需求”之后,再去找“别人”处理这件事。
这个“别人”就是路由器。路由器的世界也是层级分明,计算机问离它最近的路由器,这个村子里的路由器不知道的话,就会网上禀报,报到县里的、镇里的、城里的、全国的,一个个往上禀报,总有一个路由器会知道。
毕竟骨*路由器知道网络世界里的所有“路径”,最后找到你需要的那个服务器,路由器发起了请求连接,你就能登录上。
并且,老杨还要再解释一点,IP地址并不是像大海捞针一样的搜寻的。因为全球的IP地址都已经是固定好且唯一的标识,这就和我们的世界地图一样, 具有唯一性。地址们都在嗷嗷待哺的等待着人们的“需求”,这个“需求”不仅可以被动的靠路由器一层一层传输,也可以靠0.0.0.0这个“万能喇叭”来实现。
一旦对应的网站服务器能接收到你的请求,就会双眼放光,开始一番猛如虎的连接操作,在1-2秒内,你就能看到对应的网站页面。那路由器,到底是怎么具体的找到我想要的那个网站的呢?
3、当你在登录网站的2秒内,计算机到底做了多复杂的工作?根据前面两个大点,我们再捋一遍背后的整个操作过程。(终于可以用上第一点里的知识点了)小杨下班回家打开电脑,把外卖放在桌上,极具仪式感准备登录b站开一部快乐肥宅剧配饭。
他在浏览器网址框内输入www.bilibili.com,这里的网址是域名,所以需要“翻译”成计算机能看懂的语言,就需要"DNS"出场。
所以,在你按下回车键enter之后:你的浏览器会率先使用DNS获得对应的IP地址。
如果本地的DNS服务器没有,就像更高级的DNS服务器求助,一直到你获得了B站的IP地址:110.76.40.240。
获取到了110.76.40.240之后,登录这个IP地址的需求就变成了你的“请求”。
浏览器会把你的这个“请求”变成HTTP请求报文发送给TCP。
在这个发送的过程里,就出现了最经典的“TCP的三次握手”场景。