-
網際網路如何運作:HTTP 和 HTML
-
我是Jasmine,我是XBOX One工程團隊的項目經理。
-
我們最大的特色之一是XBOX Live 這個線上服務。
-
XBOX Live 串連起全世界的玩家,而這是藉由網際網路才得以實現!
-
這不是一件容易的事,在幕後需要達成很多事情。
-
網際網路完全改變了人們互動和聯繫的方式。但它是如何運作的呢?
-
世界各地的電腦又是如何彼此溝通的呢?我們仔細看看「瀏覽網站」這個例子。
-
首先,你會執行瀏覽器,這是你用來造訪網站的應用程式。
-
然後,你輸入網站位址URL,它代表著網站的統ㄧ資源定位符,如:tumblr.com。
-
嗨,我是 David Karp,Tumblr的創辦人。
-
今天我們來聊聊,每天使用的網站瀏覽器,實際上是如何運作的。
-
在瀏覽器中輸入網址,並按下Enter之後,實際發生了什麼事情呢?
-
它真的是很瘋狂的一件事。
-
你的電腦開始與稱為「伺服器」的另一台電腦通信。兩台電腦通常間隔著數千英里。
-
在幾毫秒內,你的電腦會向伺服器查詢一個網站
-
伺服器則開始使用 HTTP 這個語言,回覆你的電腦。
-
HTTP 代表著 超文件傳輸協定
-
你可以把它看作是一台電腦用來向另一台電腦索取文件的語言。
-
它實際上是非常直覺的。
如果你去監聽你的電腦與伺服器之間的對話
-
這些對話,主要是由「GET」的請求指令組成。
-
就比如簡單的一句: GET “你所請求的文件名稱”
-
要前往 Tumblr 的登入頁面,
你只需要向 Tumblr 的伺服器傳送一個 GET 請求
-
說道:GET / login。這會告訴 Tumblr 的伺服器
你想要 Tumblr 登入頁面所有的 HTML 程式碼。
-
HTML 代表著「超文字標記語言」
-
你可以將它視為一種語言,
用來告訴瀏覽器,該如何顯示網頁的外觀。
-
想像一下,維基百科這個網站
它基本上就只是一個大文件
-
HTML 是用來讓 標題「變大」和「粗體」的語言,
並且讓字體顯示正確
-
讓某些文字能連結到其他頁面
讓某些文字變成「粗體」、或是變成「斜體」
-
讓圖片顯示在頁面的中間、對齊右邊,或是對齊左邊。
-
網頁中的文字,是直接包含在 HTML 中
-
圖片 或 影片 則是分開的檔案,他們具有自己的URL,需要額外的請求。
-
對於每一個,瀏覽器會個別發送 HTTP 請求,
並在回覆到達時顯示它們。
-
如果一個頁面有很多不同的圖片
每一個都會產生個別的 HTTP 請求
-
這就會讓頁面載入變慢
-
有時候當你瀏覽網頁時
你不僅僅是透過 GET 來取得網頁
-
有時,你還會送出資訊
像是填寫表單,或是輸入搜索查詢
-
瀏覽器會使用 HTTP POST 指令,以純文字形式,將資訊傳送給伺服器。
-
像是你要登入 Tumblr
首先,你會發送 POST 需求
-
也就是向 Tumblr的登入頁面,發送一個 POST 指令
-
裡面會有一些附帶的資訊
像是:你的電子郵件地址和密碼
-
那些會傳送到 Tumblr 伺服器來進行確認
OK! 你是 David
-
然後傳送一個頁面,回到你的瀏覽器上
表示著:「成功」,登入的人是「David」
-
除了頁面,還會附加一些看不見的 cookie 資料。
-
你的瀏覽器可以看到
並知道如何保存這些資料
-
這非常重要,因為這是網站能記住你是誰的唯一方式
-
對 Thumblr 來說 cookie 資料是一種身份識別卡片
用來辨識你是 David
-
瀏覽器會保留這個編號
當你更新 Tumblr 頁面,或下次再前往 Tumblr.com 時
-
你的瀏覽器就會自動附加這個編號
隨著請求發送給 Tumblr 伺服器
-
當 Tumblr 伺服器看到這些請求、編號時,就會知道
「OK! 這是來自於 David 的請求」
-
目前:1. 網際網路是完全開放的
-
2. 所有的連結都是共享的
3. 資訊都是以純文字的形式傳送
-
這讓駭客們能夠擷取
在網際網路上,你傳送的任何個人私密資訊
-
但是安全網站能夠阻止這一點,
藉著要求你的瀏覽器使用加密頻道來溝通
-
使用「安全資料傳輸層 SSL」以及後續的「傳送層安全協定 TLS」
-
你可以把 SSL 和 TLS 視為包在資訊外圍的安全保護層
避免資訊被偷看或竄改
-
當你看到網址欄中,在 https 旁邊顯示小鎖的圖案時,
表示 SSL 和 TLS 正在運作當中
-
安全超本文傳輸協定 (HTTPS) 能確保你的 HTTP 請求是安全且受到保護
-
當網站要求你的瀏覽器要建立安全連線時
-
網站會先提供一份數位憑證
這就像一張正式的身份認證
-
來證明這個網站是真的
-
數位憑證是經由「CA認證中心」來頒發。
CA 是具公信力的組織,它會驗證網站的真實性
-
再為這些網站頒發數位憑證
-
就像政府可以核發身份證或護照一樣
-
如果網站沒有正確核發的數位憑證,就想建立安全通訊,瀏覽器便會發出警告。
-
以上就是瀏覽網頁的基礎知識!
也是我們使用網際網路的日常
-
總結一下,HTTP 和 DNS 管理著網路上
HTML、多媒體文件或任何資訊的發送和接收
-
讓這成為可能的是,TCP/IP 和 路由器網絡
它們讓資訊得以拆解並用小封包形式來傳遞
-
這些封包則由二進位制所組成 --- 許多 1 和 0 的次序組合
-
並通過電線,光纖電纜、無線網路來傳送。
-
幸好,你只需要學會網際網路層的運作原理,你就可以依賴它
-
而不用記住所有的細節
-
我們可以相信,所有這些網際網路互連層會一起運作
-
成功地,大規模且可靠的傳遞資訊