iT邦幫忙

2021 iThome 鐵人賽

DAY 14
1
Modern Web

前端藏寶圖系列 第 14

初探 超文本傳輸協定 HTTP


圖片來源:MDN

HTTP是網路世界資訊交換的基礎,這項發明一開始是為了提供發布和接收HTML頁面的方法,請求的資源會用URL來表示。

在網路的世界裡擁有資源的會被稱為伺服器,請求資源的則稱為客戶端(通常是瀏覽器)。

比方說各位鐵人每天發表文章的同時,瀏覽器就必須告訴伺服器說「欸!我要給你一篇文章,幫我存一下」,或是各位鐵人彼此觀摩他人的文章時,瀏覽器就必須不斷向伺服器發送顯示文章的請求,

人類之間用不同的語言溝通,那瀏覽器與伺服器之間要怎麼溝通呢?當然不可能用上述那種擬人式的方式,必須要有固定的格式規範才能快速處理人類的需求,HTTP就明確規定了這兩者溝通的內容格式。

先來看看標準的請求和回應,無論是請求還是回應都分成三個區塊:

  1. start-line:
    請求的start-line包含了要執行的動作,請求的資源和HTTP的版本
    回應的start-line帶有HTTP版本,狀態碼和狀態訊息
  2. header
  3. body


圖片來源:MDN

HTTP 請求方法:

前面提到在請求的start-line中會包含執行的動作,也稱為請求方法,以下我們來看看常見的請求方法

方法 代表行為
GET 取得資料
POST 發送資料給伺服器
PUT 更新資料
DELETE 刪除資料
PATCH 修改資料

伺服器回應方式

如同請求方法,伺服器的回應方式也分門別類成五個類型並且用代碼去區分:

  • 1XX 訊息
  • 2XX 成功
    • 200 OK
  • 3XX 重新導向
  • 4XX 客戶端錯誤
    • 404 Not found
      例如某位參賽的鐵人刪除文章後,其他鐵人若再點選文章網址就會給予此錯誤

    • 418 I'm a teapot

418錯誤源自於愚人節玩笑,據說某些網站對於不想處理的請求會給予此回應 /images/emoticon/emoticon37.gif

  • 5XX 伺服器錯誤

HTTP 和 HTTPS 超簡易比較

顯而易見的兩者之間只差了一個 S ,這個 S 代表的是安全(secure)的意思。由於過往的 HTTP 傳輸方式,所有資料都是以明文傳送,在資料傳輸的過程中若有駭客竊聽時,就會造成資料外洩。於是瀏覽器公司透過SSL/TLS的技術將文件加密,才有了現在使用的HTTPS。

支撐網路世界運作的技術和所需的知識量真的無比龐大,一日探索HTTP雖然只看到非常表面的概念,還是覺得收獲滿滿~

參考資料:
Web Security: an introduction to HTTP
HTTP Messages
從傳紙條輕鬆學習基本網路概念
超文本傳輸協定


上一篇
事件迴力鏢 - 捕獲與冒泡
下一篇
網頁儲存區 - localStorage & sessionStorage
系列文
前端藏寶圖30

2 則留言

0
Hooo
iT邦新手 5 級 ‧ 2021-09-29 15:53:08

支撐網路世界運作的技術和所需的知識量真的無比龐大

謝謝佳萱將龐大的資訊量整理出來~~ 靠吸食你的文章補充這部分的營養
好文敲碗敲碗續集 /images/emoticon/emoticon31.gif

Chiahsuan iT邦新手 4 級 ‧ 2021-09-30 21:44:14 檢舉

/images/emoticon/emoticon47.gif

0
南國ㄟ安迪
iT邦新手 5 級 ‧ 2021-09-29 20:05:09

好文必追!

Chiahsuan iT邦新手 4 級 ‧ 2021-09-30 21:42:51 檢舉

/images/emoticon/emoticon41.gif

我要留言

立即登入留言