週日偷懶一下,來探討一下IP和域名。
在Laravel起手式&Nginx設定-Day03我們設定了Nginx,那來探討一下hosts裡的127.0.0.1是啥?我們設定的localhost又是什麼?
使用了Nginx就有機會到etc/hosts裡面去增加這一行域名
127.0.0.1 rachel.com
hosts這個文件可以幫我們匹配域名和對應的IP尋找關聯,
當我們輸入網址的時候,系統會先從hosts檔案中找尋對應的IP,打開對應的網頁
沒找到就會先查詢緩存,沒有才提交DNS (域名系統)進行IP解析。
當我們在本機測試網址了時候,等於將我們的網站掛在我們自己的電腦(伺服器)上,
不用透過網路取得網站內容,而Localhost(127.0.0.1)就是一個回環地址,指我們自己的電腦。
當我們打Localhost時,就會指向127.0.0.1也是默認為我們本機的域名。
localhost和http, https一樣都是一個通訊協定(protocol)
我們還需要綁入我們的端口,譬如常見的8080
輸入127.0.0.1:4000和localhost:4000應該都要得到一樣的結果。
參考:What is Localhost? Local Host IP Address Explained
寫這篇最早是看到這篇文章:[127.0.0.1和0.0.0.0地址的区别](https://www.cnblogs.com/sddai/p/9281189.html)
也提到了:在大多系統中,localhost被指向了IPV4的127.0.0.1和IPV6的::1。
那就順勢看一下 IPv4和IPv6的差異
TCP/IP 網路傳輸協定
TCP/IP協議
我理解簡單來說就是電腦/設備間的溝通的語法制定協義,而IP (Internet Protocal)網路協議
給了每個設備一組地址碼,讓設備可以被識別、並傳送與接收訊息。
v4, v6其實就是我們IP協議的版本,
IPv4是採用2進位,我們大部分看到的:192.168.0.11
IPv6則是採用16進位:2001:0DB8:0000:0000:0000:8A2E:200C:417A
除了IPv4的地址快被我們用完之外,IPv6也更安全。
更詳細的也請參考這邊囉:
IPv4和IPv6有什么区别?->這篇專業
IPv4和IPv6有什么区别->這篇易懂