進度條

網域 Domain Name 與 IP 是什麼?為什麽我們架設網站需要一個 IP?

網站都架好了就是連不上,與其模糊不清的莫名設定好,不如一次到位用這篇來重新了解吧!

作者: 進度條編輯群 更新日期:

此文章也有影片介紹,可以搭配影片一起學習!

01. 網域 Domain Name 與 IP 是什麼?為什麽我們架設網站需要一個 IP? (所屬課程)


以下正式開始文章


「網域 Domain」註冊對於網站而言是相當重要的一件事,他就是你的網站伺服器的「暱稱」。

 

這是怎麼樣的概念呢?就好比說你跟計程車司機說要去「台北 101」,你可以跟他說:請帶我去「台北市信義區信義路五段7號」,或是你直接跟他說你要去「台北 101」。

 

所以訪客在訪問你的網頁的時候,同樣可以使用地址來告訴瀏覽器(就是 Chrome 或是 Safari),例如類似 「142.251.43.4」 這樣的 IP 就是網路上的地址。或是你的訪客可以告訴他的瀏覽器「www.google.com」這樣的暱稱。

 

應該大部分的人,都會覺得 www.google.com 比較好記吧?

 

 

 

 

不過 Domain 要成立之前必須要有 IP 概念,那話說回來,

IP 又是怎麼來的呢?

 

 

首先 IP 其實跟地址滿像的,是由別人分配給你的。例如台北 101 為何是「信義路五段7號」,為何不是松智路?為何不是市府路?為何不是 6號?

以結論來講,就是大家講好或是直接政府就發這個地址給你了,也沒為什麼。

 

 

已網際網路的概念來說,如果你要加入網路 Internet,你就必須要有一個 IP。因為網路是一問一回的概念,你必須要知道別人的地址 IP,你才能問得到他(Request),他必須知道你的地址,他才能回你(Response)。

 

 

所以這就是為何你必須要付錢給「網際網路服務供應商 (ISP)」,讓他提供服務給你,一般來說在台灣這個服務商最多人的會是「中華電信 Hinet」。如果你沒有付錢的話,那就是有人幫你付過錢了。當你連上 WIFI,連上實體線路,連上 4G / 5G 等無限網路。你的手機、電腦或任何能上網的機器,都會被分配得到一個 IP。只要在 Google 上面搜尋「我的 IP」,就可以找到一些網站幫你看你的 IP並顯示。正因為他要回傳給你結果,所以他確實會知道你的 IP。

 

 

那 「網際網路服務供應商 (ISP)」 又為何能有能力分配 IP 給你呢?原因是因為他有去付錢註冊。詳細資訊的話,這篇文章先不多說,可以參考台灣主管機關 TWNIC 的資訊喔!

 

 

回到網域 Domain Name,這又是怎麼運作的呢?

 

 

首先要知道,其實你在訪問網站的時候,並不是只發出一次連線請求而已,在這「一個訪問」中你會發出多個,甚至數十個連線請求出去給不同的對象。

 

比方說,你輸入了「www.google.com」,你從來沒訪問過這個網站。那你的瀏覽器被設定為,先去問網路上的 DNS 伺服器「www.google.com」的 IP 是幾號。那你如何問這個 DNS 伺服器呢?其實它一樣是有一個 IP,而且你預設的情況下一定會知道他的 IP。因為這個值是當你剛連上網的時候「ISP」,也就是「中華電信」的 DNS resolver (DNS 解析器) 就自動告訴你了。

 

DNS 全文為 Domain Name System,網域名稱系統,顧名思義它是一個系統,其中有很多部分。而 DNS resolver 的功用是當別人用域名詢問它的時候,回應對應的 IP 設定。

 

 

因此你訪問「www.google.com」的順序是:

1. 瀏覽器中被輸入「www.google.com」

2. 瀏覽器不知道 Domain 對應的是哪個 IP,所以問預設的 DNS 解析伺服器,你想要的話也可以設定為其他公司提供的 DNS 解析伺服器(例如 Google 8.8.8.8,CloudFlare 1.1.1.1 )。

3. 收到 DNS 伺服器的回應,例如以我拿到的是「142.251.43.4」這個值

4. 瀏覽器訪問「142.251.43.4」,獲得網頁回應。

 

 

所以反過來說,如果你要架設一個網站,要使用網域 Domain name 的話,要做什麼呢?

 

首先,網站其實就是一隻應用程式,應用程式必須要裝在電腦裡面,所以你必須要有一台電腦來部署你的應用程式。

 

第二,電腦要能在網路上訪問別人,或著被別人訪問,必須要有一個 IP。

 

第三,有了 IP 後,必須要把網域 Domain name 與 IP 連在一起,並且必須要告訴全世界的 DNS 伺服器。

 

這三條看起來很理所當然,但其實很多人所搞不清楚的事情,都隱喻在這三條裡面了。

 

1. 為何網站放的電腦叫做伺服器呢?其實伺服器就是特化型的一種電腦,他最重要的就是能長時間不關機,例如數年都不關機。因此在組裝上會選用特別耐用的零組件與加上不斷電系統。

 

2. IP 如果要通知給全世界的 DNS 伺服器,需要時間,所以 IP 不能隨便改,不然時間再短,都會有同步的問題。因此架站的伺服器必須要是「固定的 IP」,這必須要跟 ISP 申請,並有額外費用。

 

3. Domain name 網域如果沒有註冊的概念,那就會有 IP 對應問題,例如你如果也可以隨便幫 Google 加網域對應的 IP,就很容易劫持他的服務,造成嚴重的混亂。所以正常情況下,這件事不會發生。

 

4. 註冊才可以使用,並且每次更改對應內容都會麻煩到各國的 ISP。因此只要有在使用,就會一直需要人(系統)服務。所以他不會是「買斷制」,而是訂閱制,每年都要交錢。

 

結論,要使用 Domain 網域的時候,必須要先付錢註冊,而且每年都要繳錢(可以一次交多一點)。每個 Domain 都有可能被別人註冊,所以要先查詢可以使用的名稱。

 

獲得網域的使用權後,必須要有一個表填寫,才能對應 IP。也就是設定 DNS.  records (DNS 記錄)。

 

 

 

不過這些其實你都不需要擔心,因為實際架站的時候,你要做的就只有以下幾件事。

a. 找一個喜歡的網域註冊商,付錢註冊網域

b. 架好你的網站,一般的網路空間都自己有帶固定 IP 了,除非你用的是實體電腦放家裡,你就要跟中華電信申請固定 IP

c. 網域註冊商都會提供 DNS record 表的介面讓你填寫,所以一般你必須要自己填入對應表。

d. 等 5分鐘 ~ 24 小時,讓全世界的 DNS Server 同步你發表的紀錄對應。

 

 

所以其實也沒什麼事做,服務商基本都做完了。不過不同的服務商,所提供的服務完整度還是有差,所以這點在註冊之前需要先多比較看看。

 

 

以上的內容其實還是有省略掉一些進階的細節,譬如瀏覽器如果已經訪問過 DNS Server,他第二次以後去到同一個網站,基本上不會再問一次。因為他在第一次的時候會先在你的電腦暫存上次的結果,速度就會快很多。相對的,如果你改過 DNS 記錄,那不清除電腦裡面的暫存可能短時間內都無法正確的訪問。

 

 

這時候最簡單的方式就是用「無痕模式」,或是換一個瀏覽器嘗試看看。當然硬要清除也不是不行。

 

 

 

此外,網路連線除了 IP 外,還有 Port 號的概念,另外即使你都設定正確,也有可能沒辦法顯示網頁又是為什麼呢?

 

 

其實就像前面的 台北101 例子一樣。你今天請司機載你去 台北101 總是有一個目的,而這個目的並不見得會被滿足。你到了地址以後,有很多的樓層與很多的隔間,而 Port 號就像是這些隔間一樣,他是會對應到某一個服務的(或是空著)。

 

如果你想去 101 買 LV 包,地址是對了,但是進錯到旁邊的辦公區域,或是星巴克。那理所當然你找不到你要的產品,甚至人家連理都不想理你。不理你的話,已瀏覽器來說,就是會獲得個 Error 錯誤訊息。

 

 

Port 號中,HTTP 所表示的就是 80 port,未加密的網頁內容,HTTPS 則是對應到 443 port,是SSL/TLS 加密的網頁內容,其他的 port 有可能對應的是其他的服務,或是完全空的。

 

因此我們在訪問 Google 的 "http"://www.google.com,其實就會被轉譯為 142.251.43.4:80。

 

而 https 則會被轉換到 443 去,但是如果你使用 142.251.43.4:443 < Google 的 IP>,實際上你還是進不去。會寫 「This site can’t be reached」。這是因為即使訪問的 IP 與 Port 號即使是對的,但你的訪問 Request 內容如果不對的話,對方是可以擋下來的。

 

 

 

最後要知道的是,一個網域下是可以設定多個條件的,比方說多一個前綴字,就去到不同的 IP 是可以的,這個我們稱之為 Subdomain name 子網域。例如 Google 的網域其實是「google.com」而非「www.google.com」,他在「google.com」這個網域底下設定了 www 這個前綴字的子網域,讓他對應到 142.251.43.4。因此只要你有一個網域,其實你就可以開很多個不同的站台,分別掛在不同的子網域底下。

 

例如 www.google.com、groups.google.com、blog.google.com  如果 Google 想要的話,都可以是個別不同功能的網站喔!事實上他們確實對應到不同的站台 與 IP 喔。

 

 

 

因此如果你想要的話,只要註冊一個 Domain name 以後,就可以架設非常多不同網站,可以讓每個 IP 站台都擁有自己的子網域。只要善用 DNS Record 設定 A Record 即可喔~

 

 

架站詳細的細節可以參考:

[遠振][架站實作篇] 網站一鍵安裝快速上線,輕鬆搞定WordPress架站以遠振虛擬主機Web Hosting為例

 

對於簡單架設一個網站的話,可以參加我們的課程:

網路關鍵字佔領技術,微創業與數位行銷正規作戰方式

 


最後,如果你喜歡我們的文章,別忘了到我們的FB粉絲團按讚喔!!

Small logo

進度條編輯群

進度條編輯團隊