<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          直接用IP訪問知乎,我發(fā)現(xiàn)了一個(gè)秘密···

          共 1456字,需瀏覽 3分鐘

           ·

          2021-04-19 17:15

          我們先來ping知乎的域名,然后可以得到響應(yīng)的服務(wù)器的ip,



          之后我們用瀏覽器來訪問這個(gè)ip,結(jié)果如下



          被拒絕訪問了。


          而用ip來訪問百度,則沒啥問題,如圖



          訪問知乎的時(shí)候,域名可以訪問,ip不可以訪問,這究竟是為啥?


          我們知道,ipv4的ip地址是非常有限的,如果每個(gè)人都想擁有一個(gè)全球ip,那肯定是不夠分配的,不知道啥是全球ip的可以看我這篇文章:談?wù)凬AT:什么?全球IP和私有IP是什么鬼?


          所以,很多網(wǎng)站在發(fā)布的時(shí)候,是有可能幾個(gè)域名共用一個(gè)CDN服務(wù)器的。



          稍微解釋下CDN是啥: CDN服務(wù)器可以說是一種緩存服務(wù)器。當(dāng)我們要訪問某個(gè)網(wǎng)站的資源時(shí),如果該網(wǎng)站的服務(wù)器離我們很遠(yuǎn),這樣的話響應(yīng)速度就會(huì)很慢,為了讓響應(yīng)速度快一些,我們可以把資源分布放在各個(gè)地方,然后響應(yīng)客戶端的時(shí)候,把離客戶端較近的資源傳送給他。


          當(dāng)我們用域名訪問知乎的時(shí)候,CDN服務(wù)器可以根據(jù)訪問的域名知道你想要的是哪個(gè)網(wǎng)站的資源,然后直接給你返回對(duì)應(yīng)的資源。


          但是當(dāng)你用公網(wǎng)ip訪問就不一樣了,由于一個(gè)CDN服務(wù)器的公網(wǎng)ip對(duì)應(yīng)多個(gè)域名網(wǎng)站,他不知道你想要的是哪個(gè)網(wǎng)站的資源,也就是說,當(dāng)你用 118.89.204.192 去訪問知乎的時(shí)候,CDN服務(wù)器不知道你要訪問的是 zhihu.com,還是訪問 a.com 或 b.com,所以他也干脆明了點(diǎn),直接拒絕你的訪問。


          有人可能會(huì)問,我輸入域名之后,DNS服務(wù)器幫我自動(dòng)解析成對(duì)應(yīng)的ip,去訪問知乎的時(shí)候,也還是用ip訪問的啊,這貌似和ip訪問沒啥區(qū)別啊。


          確實(shí),訪問的時(shí)候,DNS服務(wù)器都會(huì)幫們我把域名解析成ip去訪問,CDN服務(wù)器之所以能夠檢測到對(duì)應(yīng)的域名,其實(shí)是這樣的:


          當(dāng)客戶端用域名訪問知乎的時(shí)候,DNS會(huì)解析成對(duì)應(yīng)的ip去訪問CDN服務(wù)器,然后CDN服務(wù)器可以根據(jù)SNI機(jī)制獲得該ip對(duì)應(yīng)的來源域名,然后返回對(duì)應(yīng)的資源。


          這里稍微簡單粗暴解釋下SNI機(jī)制: 該機(jī)制主要是用來解決一個(gè)服務(wù)器對(duì)應(yīng)多個(gè)域名時(shí)產(chǎn)生的一些問題,通過這種機(jī)制,服務(wù)器可以提前知道(還沒建立鏈接)客戶端想要訪問的網(wǎng)站,想要知道更加具體的我已經(jīng)給你們準(zhǔn)備好文章:https://blog.csdn.net/firefile/article/details/80532161


          知道了用域名可以訪問知乎,而用ip不可以訪問知乎之后,我們?cè)賮碚f說百度。


          為啥百度ip和域名都可以訪問呢?


          這其實(shí)很簡單,就是百度用的CDN服務(wù)器,只對(duì)應(yīng)一個(gè)網(wǎng)站域名唄,說白了,就是百度有錢!


          print_r('點(diǎn)個(gè)好看吧!');
          var_dump('點(diǎn)個(gè)好看吧!');
          NSLog(@"點(diǎn)個(gè)好看吧!");
          System.out.println("點(diǎn)個(gè)好看吧!");
          console.log("點(diǎn)個(gè)好看吧!");
          print("點(diǎn)個(gè)好看吧!");
          printf("點(diǎn)個(gè)好看吧!");
          cout << "點(diǎn)個(gè)好看吧!" << endl;
          Console.WriteLine("點(diǎn)個(gè)好看吧!");
          fmt.Println("點(diǎn)個(gè)好看吧!");
          Response.Write("點(diǎn)個(gè)好看吧!");
          alert("點(diǎn)個(gè)好看吧!")
          echo "點(diǎn)個(gè)好看吧!"


          瀏覽 43
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国内精品视频在线 | 97人妻人人操 | 青青草网站| 手机在线看a | 国产香蕉视频 |