網頁是怎麼運作的呢?
短期來看,在撰寫網站程式碼時,這些理論並不是非懂不可,但在之後,了解這些背後原理,對你會很有幫助。
網頁know-how :
用戶端與伺服器端
用戶端是網路用戶的典型上網設備(像是連到 Wi-Fi 的電腦、或是連到手機網路的手機),這些設備通常有能夠上網的軟體(通常是 Firefox 或 Chrome 之類的瀏覽器)。
伺服器端是放著網頁、網站、或著 app 的電腦。當用戶端設備要訪問網頁時,網頁的副本會從伺服器下載到用戶端,以便顯示在用戶的瀏覽器。
IP位址
為Internet Protocol Address的縮寫,中文被稱為網際協議位址。 是一種在Internet上的給主機編址的方式。 IP位址可以說是網頁伺服器的門牌讓系統可以透過這個號碼找到正確的網頁伺服器在哪裡。
DNS
Domain Name System的縮寫,中文又稱領域名稱解析系統。 是網際網路的一項的服務,是個可將網址和IP位址相互對應的資料庫,能夠使人更方便的存取網際網路。(不用記長長一串的數字啦!)
伺服器
伺服器作為硬體來說,通常是指那些具有較高計算能力,能夠提供給多個使用者使用的電腦。伺服器與PC機的不同點太多了,例如PC機在一個時刻通常只為一個使用者服務。伺服器與主機不同,主機是透過終端給使用者使用的,伺服器是透過網路給用戶端使用者使用的。
而近期雲端伺服器越來越盛行,常見的雲端服務有 AWS , GCP , AZURE 等.... , 雲端伺服器擁有非常多的服務, 可以節省開發時間 , 直接使用服務(但通常都不便宜...) 、擁有高擴展的硬體資源, 隨時調整你的硬體資源、安全性高等等.... , 想必之後會成為伺服器的主流
網頁伺服器
又叫做Web Server。 Apache是接洽的服務員負責將網頁畫面傳遞給瀏覽器,只要網頁中有需要資料的部分Apache就會向DB索取資料後一起交給瀏覽器。 DB(Data Base)就是存放資料的地方。
web server的種類有:apache、nginx、iis apache和nginx的差別在於nginx可能速度會比較快,用的資源少。 iis是微軟做的,如果是寫asp.net
就可用這套iis但環境就是要在window server上。
瀏覽器輸入網址的流程 :
- 瀏覽器會先去 DNS 伺服器尋找託管網站的伺服器,其真實位置所在(如同你去尋找商店的地址)
- 瀏覽器向伺服器傳送 HTTP 訊息,請求伺服器向用戶端傳送網站的複本(如同去商店下訂單)。在用戶端及伺服器的之間,請求訊息與其他資訊,會使用 TCP/IP 在網路連線之間傳送。
- 伺服器如果允許用戶端請求,伺服器就會傳送「200 OK」訊息,意味著「好,你可以閱覽這個網站,那我給你網站資料囉~」並開始對瀏覽器以一小串稱作「資料封包」的組合形式,傳送網站的檔案。這就像是商店給你商品,你接著把它們都帶回家一樣
- 瀏覽器把一小塊一小塊的東西,組合成完整的網站,並把它呈現起來--商品送到家門口後,閃亮亮的新貨在你眼前,超棒的啦!
圖解 :
引用網址:
https://developer.mozilla.org/zh-TW/docs/Learn/Getting_started_with_the_web/How_the_Web_works
留言
張貼留言