Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
文由“小姐姐養的狗”原創發布于“小姐姐味道”公眾號,原題《127.0.0.1和0.0.0.0地址的區別》,收錄時有優化和改動。感謝原作者的分享。
對于后端程序員來說,127.0.0.1和0.0.0.0這兩個IP地址再熟悉不過了,看起來好像就那么回事,但真正較起真來,這兩個IP地址到底有什么作用以及到底有什么不同?貌似誰可以輕松回答,但張嘴卻又不知從何說起。。。(這要是面視,估計真會被這搞砸...)
本文將系統地總結127.0.0.1和0.0.0.0這兩個IP地址的作用,以及它們之間的區別,希望能為你解惑。
* 推薦:本文作者的另一篇文章《八問WebSocket協議:為你快速解答WebSocket熱門疑問》,你或許也感興趣。
(本文同步發布于:http://www.52im.net/thread-2928-1-1.html)
您(或您的計算機)呼叫一個 IP 地址時,您通常是在嘗試聯系互聯網上的另一臺計算機。 但是,如果您調用 IP 地址 127.0.0.1,那么您正在與 localhost 進行通信 – 原則上是與您自己的計算機進行通信。 但是與自己開始虛擬對話有什么意義呢? 您需要 localhost 做什么以及它是如何工作的?
Localhost (127.0.0.1)
在解釋什么是 localhost 時要說明的第一點是,它始終是您自己的計算機:當您調用 localhost 時,您的計算機正在與自己對話。然而,這是一種濃縮的方法。本地主機并不總是與您的計算機直接識別。在大多數情況下,它有一個單獨的 IP 地址,例如 192.168.0.1。在您的個人網絡中,這與您在 Internet 上使用的網絡不同,通常由 Internet 服務提供商動態分配。當您談論本地主機時,您指的是在您自己的計算機上使用服務器時。
相反,這意味著該術語僅在網絡上下文中使用。 “本地主機”不僅是虛擬服務器的名稱,也是它的域名。就像 .test、.example 或 .invalid 一樣,.localhost 是為文檔和測試目的而保留的頂級域。當您嘗試訪問域時,會觸發環回。如果您在瀏覽器中訪問“http://localhost”,請求將不會通過路由器轉發到 Internet,而是保留在您自己的系統中。 localhost 的 IP 地址為 127.0.0.1,它指的是您自己的服務器。
IP 地址在網絡內用于相互通信。網絡中的每個參與者都有自己的地址。使用該系統時,通過 TCP/IP 發送的數據包能夠到達正確的目的地。協議對傳輸控制協議 (TCP) 和互聯網協議 (IP) 是互聯網的一些基石。但是,TCP/IP 也用于 Internet 之外的本地網絡中。在傳輸過程中,互聯網協議負責允許 IP 地址和子網掩碼尋址網絡中的用戶。
公共 IP 地址(可以通過互聯網訪問的地址)的分配由一個國際組織監管:互聯網名稱與數字地址分配機構 (ICANN)。 ICANN 還負責域名或域名系統 (DNS) 的分配。但是,某些地址范圍是為特殊目的而保留的,例如從 127.0.0.0 到 127.255.255.255 的范圍。沒有關于為什么選擇該范圍的可靠信息,但您可以自由推測。
直到 1990 年代,互聯網上的 IP 地址被劃分為不同的類別。第一類(A 類)以 0.0.0.0 開始(這個地址也是保留的),以 127.255.255.255 結束。 127 是 A 類網絡中的最后一個塊。這個重要的職位可能是它被選中的原因。
可以在此地址范圍內設置 Localnet。這個范圍的特別之處不僅在于它是由 ICANN 保留的,而且它的 IP 地址也不是唯一分配的,這通常是這種情況。但它是如何工作的?
例如,如果您在瀏覽器中輸入 IP 地址(或相應的域名),路由器會將您的請求轉發到互聯網和正確的服務器。 這意味著如果您輸入 172.217.0.0,您將到達 Google 主頁。 但是,情況與 127.0.0.1 不同,因為對該地址的請求不會被轉發到 Internet。 TCP/IP 從第一個塊 (127) 中識別出您不想訪問 Internet,而是在呼叫自己。 然后這會觸發環回。
事實
相反,該協議不接受發往 127.0.0.1 的外部請求,因為這意味著攻擊者可能會試圖潛入他們的系統。 據報道,從保留 IP 地址(如 127.0.0.1)出現在互聯網上的數據包被稱為火星數據包。
創建一個環回設備,以便到您自己的計算機的反向鏈接正常工作。 這是通過操作系統創建的虛擬接口。 對于 Unix 系統,該界面稱為 lo 或 lo0,也可以使用 ifconfig 命令顯示。 用于 Windows 的類似命令是 ipconfig。
開發人員使用本地主機來測試程序和 Web 應用程序。網絡管理員也可以使用環回來測試網絡連接。 localhost 的另一個實際用途是 hosts 文件,您可以在其中使用環回來阻止惡意網站。
本地主機在 Web 服務器中的主要用途是對需要通過 Internet 進行通信的應用程序進行編程。在開發過程中,重要的是要確定應用程序在可以訪問 Internet 后是否真的按預期工作。 Localhosts 的其他功能只有在可以在 Internet 上找到所需文件的情況下才能實現 – 例如,在您的 PC 上打開 HTML 文檔或將其加載到服務器上并訪問它是有區別的。發布未完成的產品而不進行測試是沒有意義的,因此開發人員使用環回來測試它們。他們可以刺激連接,同時避免網絡繞道:相反,連接完全保持在他們自己的系統內。
使用 localhost 進行測試的另一個優點是它的速度。當您通過 Internet 發送請求時,需要 100 多毫秒。如果向 localhost 發送 ping,最大傳輸時間僅為 1 毫秒。通過這項技術,您還可以了解 Internet 協議是否正確實施。要自己測試,只需打開命令提示符 (Windows) 或終端 (Unix/Mac) 并使用 ping 命令。您可以將其發送到域 localhost 或直接發送到 IP 地址。
ping localhost
ping 127.0.0.1
如果您想在您的 PC 上設置您自己的測試服務器以通過 localhost 對其進行尋址,您首先需要安裝正確的軟件。 通常可以在您自己的計算機上運行任何標準 Web 服務器,但也有專門設計用作 localhost 的特殊軟件——例如 XAMPP。
本地主機也在主機文件中發揮作用。 原則上,該文件是域名系統 (DNS) 的前身:在其中可以將 IP 地址分配給相應的域。 如果在瀏覽器中輸入網址,需要將域名翻譯成IP地址。 它曾經是主機文件,但現在您通常會使用全球 DNS。 但是,主機文件仍然存在于大多數操作系統中。 對于 Windows,您可以在 \system32\drivers\etc\hosts 下找到該文件; 對于 macOS 和其他 Unix 系統,它位于 /etc/hosts 下。
如果您自己沒有進行任何文件更改,則可能還剩下以下兩個條目:
127.0.0.1 localhost
::1 localhost
這確保了 localhost 的名稱解析不必通過 Internet 完成。您還可以使用該文件來阻止某些網站。為此,請在列表中輸入要阻止的網站,并為域分配 IP 地址 127.0.0.1。如果您(或者可能是惡意腳本)嘗試調用鎖定的域,瀏覽器將首先檢查主機文件,并在那里找到您的條目。另一種選擇是使用域名 0.0.0.0。
然后瀏覽器會嘗試訪問服務器上對應的127.0.0.1網站。但是,瀏覽器不太可能找到它,因為請求的文件將不存在。但是,如果您已經設置了自己的測試服務器,那么瀏覽器可能會找到 home.html,但這只是您自己的文件。如果您尚未設置自己的測試服務器,則會出現錯誤消息而不是請求的網站。該技術還可用于關閉整個系統的廣告插入。為了不必手動輸入每個條目,您可以在 Internet 上找到已完成且定期擴展的主機文件。
在為優酷視頻為煩人的廣告發愁嗎?
優酷for Mac作為非常受歡迎的視頻客戶端,以其覆蓋率、日播放量高的優勢,贏得了很多的用戶,可是就是廣告太多。
那么,如何對優酷 for Mac版去廣告呢?
1.首先修改hosts,打開應用程序,在【前往文件夾】輸入【/etc/hosts】,點擊【前往】進入host文件夾,如下圖所示:
2、將hosts文件拷貝一份到桌面上,然后使用文本編輯器添加如下字段。
127.0.0.1 atm.youku.com
127.0.0.1 fvid.atm.youku.com
127.0.0.1 html.atm.youku.com
127.0.0.1 valb.atm.youku.com
127.0.0.1 valf.atm.youku.com
127.0.0.1 valo.atm.youku.com
127.0.0.1 valp.atm.youku.com
127.0.0.1 lstat.youku.com
127.0.0.1 speed.lstat.youku.com
127.0.0.1 urchin.lstat.youku.com
127.0.0.1 stat.youku.com
127.0.0.1 static.lstat.youku.com
127.0.0.1 valc.atm.youku.com
127.0.0.1 vid.atm.youku.com
127.0.0.1 walp.atm.youku.com
3、保存并退出hosts,并將修改好的hosts文件替換原來的hosts,如果有密碼的會提示需要輸入密碼,如下圖所示:
4、刪除優酷緩存文件夾
打開Finder,同時按住 Shift + Command + G ,輸入~/Library/Preferences/Macromedia/Flash Player/#SharedObjects/ ,看到一個字母數字組成的文件夾,將文件夾內的 static.youku.com 文件夾刪除。
5、網頁設置。隨便打開一個優酷視頻網頁,此時應該沒有廣告了,點擊右下角的設置按鈕,優先畫質選擇超清或高清,確定。
6、設置文件權限:再次進入 ~/Library/Preferences/Macromedia/Flash Player/#SharedObjects/ ,打開緩存文件夾的位置,,找到YOUKU_FSO_PROXY.sol 文件。右鍵點擊選擇“顯示簡介”,在最后共享與權限中將所有賬戶權限改成只讀(不能修改點擊右下角的鎖解鎖),最后點擊通用中的已鎖定。
7、對于極少部分人,如果按照上面步驟出現優酷黑屏,提示廣告被屏蔽的話,試著將第二步中那個數字和字母隨即生成的文件夾,整個刪除,再按照上面的方法試一遍。
這樣對于很多網友的疑問優酷 for Mac版怎么去廣告就解決啦!是不是簡單又實用!
欲知更多精彩內容,敬請關注下方【了解更多】!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。