什麼是網域?主機?網站?尋找網站公司前的必修課程,幫你找到優良網站公司

在尋找網站公司前,一定要先了解什麼是網域 (Domain)、主機 (Server)、網站 (Website) 分別是什麼、有什麼差異,否則很容易被網站公司當成是冤大頭傻傻的付了大筆的網站費用後卻發現很多都西是一開始沒講清楚需要額外加錢的。因此了解網站是如何架構組成是非常重要的一件事情。

關於這幾樣東西我們可以用現實世界具體解釋:網域就是門牌地址、主機則是土地、網站是房子,房子的內裝則是程式語言。

說明什麼是網域、主機、網站

什麼是網域?為什麼會需要網域?

在這個世界上所有的主機都會有一個 IP 位置,這個 IP 位置通常會是一串數字組成。例如:143.198.206.167。只是這種形式的地址實在是太難讓人記憶,所以才會有網域名稱的需求出現,透過簡單好記的門牌地址讓大家都可能輕易的存取到你的服務。

網域通常會是一串可以容易辨識的英文,他的結構包含了一個主名稱加上頂層域名 (Top Level Domain),以 google.com 來說, google 是主名稱而 .com 則是頂層域名。這世界上存在著超過 1,500 個頂層網域,在台灣常見被使用的網域可能會是 .com.tw 或是 .tw,其他常見的可能還有 .jp (日本網域)、.de (德國網域)、.hk (香港網域)...等。

我該如何購買網域?網域商有哪些?

如果想要購買網域,可以尋找一些有名的網域商來購買網域。全世界有許多大大小小的網域商,這邊提供一些常見的網域商,如果你有需要台灣公司發票做報帳,建議你選擇台灣的域名商來購買網域:

域名商台灣公司發票公司地點
GoDaddy國外
Google Domains國外
Namecheap國外
Gandi國外、台灣
Pchome台灣
亞太e管家台灣
台灣大哥大台灣
Seednet台灣
HiNet台灣
網路中文台灣
智邦生活館台灣
常見的域名商

以 Gandi 購買域名為例,你可以先輸入你想要購買的網域名稱,他會推薦你許多頂層網域,你可以依據自己的預算加入購物車。Gandi 有提供信用卡、Paypal、匯款等多元的支付方式。

從管地 Gandi 購買網域示意圖

通常網域購買會是一年一約,如果你很確定你想保有該網域,你可以一次選擇購買十年。如果你只買一年,記得每年都會需要續約或是開啟自動續約(需要輸入付款方式),否則你的網域就會失效,除了你依賴網域的服務無法被存取外,網頁也很有可能會被其他人買走。

什麼是主機?為什麼我需要主機?

主機或是稱作網站伺服器 (Server) 是網站服務必要的一個條件,當訪客想要嘗試透過門牌找到你,卻發現找不到這個地址。因此你會需要先購買主機,取得一個實體存在的 IP 位置後,再到網域商上登記門牌地址與 IP 位置的關聯性,最終才能讓訪客找到你。

大多的主機商會將主機分為「共享主機 (Shared Hosting)」、「獨立虛擬主機 (Virtual Private Server, VPS)」兩種,共享主機故名思義就是你所租用的主機資源 (頻寬、CPU、記憶體...等) 可能是與他人共享的,虛擬獨立主機則是讓你有獨立的主機資源,當然價格也會有一段不小的差距。如果你想要有獨立 IP,那麼你一定得選擇獨立主機,這邊說明一些常見的主機商:

主機商提供類型
戰國策共享主機、獨立主機
遠振資訊共享主機、獨立主機
中華電信共享主機、獨立主機
Cloudways共享主機、獨立主機
Bluehost共享主機、獨立主機
Linode共享主機、獨立主機
DigitalOcean獨立主機
Google Cloud Compute獨立主機
Amazon EC2獨立主機
常見主機商

什麼是網站?

當訪客找到你後,你的主機網站伺服器會負責提供網站服務。那麼具體而言什麼是網站服務呢?首先要先理解「網站是由程式碼組成,最終部署於主機伺服器」。主機伺服器端程式碼可能是由各式各樣的程式語言組成,常見的主機伺服器端的語言有 PHP、C#、Ruby、NodeJS、Phython...等。網站除了伺服器端功能性程式碼以外,還有展示給使用者端的前端程式碼 HTML、CSS、JavaScript。每種程式語言都不相同,因此在挑選時要注意如果選定了一個程式語言,就很有可能無法與其他程式語言相容。舉例來說 PHP 如果是木材、Python 可能是混凝土、C# 是磚塊,雖然可以混用,但是混用起來可能會導致最後建造出來的建築不穩固。

不同的伺服器程式語言可以比喻是不同的建築材料

網頁的外觀程式碼 HTML、CSS、JavaScript 這三者是不會改變的,無論伺服器端使用的是 PHP 或是 Python,最終呈現給使用者的仍然是這三個項目。你可以理解成後端程式語言是房子;前端程式語言是裝潢,外觀是否好看是取決於裝潢,但根基是否牢固、管線是否好修改是取決於房子的建設工法。

如何找到期望的網站公司?

分別學習了網域、主機、網站是什麼之後,別忘記還有最重要的事情是這些事情的組裝是會需要「人」的存在,而這些人也就是所謂的網站公司。網站公司提供了從網域、主機、網站工程、網站設計的相關服務,說穿了大家都是使用相同的「原料」,但每一家網站公司對於這些「原料」是否熟悉是至關重要的,經常有些公司只憑著一知半解的知識在低價接網站專案,當客戶稍微問深入一些就無法處理,導致最後專案失敗的案例不在少數。

網站專案公司大致上可以分為兩種流派,一種是基於現有的內容管理系統 (Content Management System, CMS) 進行開發,另外一種是使用某種程式語言框架進行開發。

分辨基於現有內容管理系統開發的網站公司

尤其基於內容管理系統開發(例如:WordPress、Drupal、Joomla、Wix)的網站公司特別多,而且價格也相當懸殊。會造成這個狀況是因為使用內容管理系統開發的入門門檻相當低,但要精通卻相當困難,例如 WordPress 你可以很輕易的使用各種佈景主題、外掛、所見即所得頁面建置器來架設網站,但你也可以理解 WordPress 底層系統透過撰寫程式來完成網站架設,這兩者所需要的知識差別可以說是天差地遠。(WordPress 是有一群人使用 PHP 和 HTML, CSS, JS 製作而成的現成房子,但對於現成房子的理解程度每家網站公司都不同。)

這邊提供一張簡單的表格讓大家了解一些常見的內容管理系統

系統說明
WordPress開源架站軟體,可安裝外掛進行低門檻架站,也可自行使用 PHP 開發進階功能
Drupal開源架站軟體,可安裝外掛進行低門檻架站,也可自行使用 PHP 開發進階功能
Joomla開源架站軟體,可安裝外掛進行低門檻架站,也可自行使用 PHP 開發進階功能
EasyStore電商平台,不可自行客製化功能,但可使用 Liquid 語法客製化頁面
Shopline電商平台,不可自行客製化功能,後台有拖曳編輯器製作頁面
Shopify電商平台,不可自行客製化功能,但可使用 Liquid 語法客製化頁面
Wix電商平台,不可自行客製化功能,後台有拖曳編輯器製作頁面
常見的內容管理系統