为什么直接ping知乎的ip不能访问知乎的网站,而百度就可以?
結(jié)論:
簡單的說,就是baidu有錢。
正文:
大型網(wǎng)站依靠自身稀稀落落的服務(wù)器很難滿足網(wǎng)頁“秒開”的用戶需求,會加入CDN加速的隊伍。
當用戶訪問 http://www.zhihu.com 時,域名解析到距離用戶最近的CDN服務(wù)器的公網(wǎng)IP,瀏覽器于是與公網(wǎng)IP對應的CDN服務(wù)器建立連接。
問題來了,CDN服務(wù)器一個公網(wǎng)IP,可能hosted多個客戶網(wǎng)站(a.com, b.com, c.com),當瀏覽器主動連接時,CDN服務(wù)器如何知道是連接哪個客戶網(wǎng)站呢?
這時,就需要 SNI(Server Name Indication)登場了。
用戶瀏覽器只要填入:SNI = “www.zhihu.com”
CDN服務(wù)器可以根據(jù)SNI的值知曉,瀏覽器原來想連接知乎的網(wǎng)站,完成TLS安全連接,并把資源返回瀏覽器。
而用戶突然不使用域名,而是直接使用IP地址訪問了,這就讓CDN服務(wù)器有點茫然失措。
SNI = “54.223.189.245”
SNI已經(jīng)無法幫助CDN服務(wù)器,分辨用戶到底是想訪問哪個網(wǎng)站了。
與其返回錯誤的資源,還不如拒絕服務(wù)。
那么,為什么直接使用IP=111.13.101.208為何可以訪問 http://baidu.com ?
計算機通信里,如果一個地址或端口會引起歧義或沖突,是需要堅決避免的。
反過來說,如果一個地址不會引起歧義,可以放心大膽使用。
如果IP=111.13.101.208對應的就是 http://baidu.com 網(wǎng)站服務(wù)器,或?qū)S肅DN服務(wù)器(只服務(wù) http://baidu.com),即使使用IP訪問又有何不可呢?
問題又來了,百度服務(wù)器需要提供“111.13.101.208”的數(shù)字證書,如果提供不出,依然無法https訪問網(wǎng)站!
通常數(shù)字證書都是為域名簽發(fā)的,很少會為IP地址簽發(fā)證書。但也有為IP地址簽發(fā)證書的,只要IP地址在簽發(fā)期間專屬于客戶。
<原文轉(zhuǎn)載自chexiaopangnetwork>
轉(zhuǎn)載于:https://www.cnblogs.com/leisurelylicht/p/wei-shen-me-zhi-jieping-zhi-hu-deip-bu-neng-fang-w.html
總結(jié)
以上是生活随笔為你收集整理的为什么直接ping知乎的ip不能访问知乎的网站,而百度就可以?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lg电视和索尼电视哪个好
- 下一篇: 01 ftp上传简单示例服务端