用一句話說 HTTP:
HTTP 是一種協定(protocal),是一個可以讓前後端溝通的傳輸協定。
HTTP 裡的一些東西
Request 與 Response 之間的關係
- 瀏覽器(Client) => 製造 Request => 傳給伺服器(Server)
- 伺服器(Server) => 處理 (request) => 傳 Response 給瀏覽器
DNS(Domain Name System) 可以幹嘛?
DNS 可以把網址轉成 IP,有 IP 位置才可以讓瀏覽器知道要把 Request 發送到哪
瀏覽器在製造 Request 的時候會有一個 Request URL,Request URL 是一個網址,可以用網址透過 DNS Server 來獲取網址 IP 位址(相當於地名對應地址的概念)
HTTP 與 HTTPS 的差異
HTTP
:資訊傳輸透明開放,有被竊取的疑慮
HTTPS
: 加入了 SSL 作為安全憑證,有保密性,可以防止資料被竊取
HTTPS 多了一個 S,代表 Secure(安全性),在傳輸資訊上比 HTTP 安全
常用的 HTTP Header
以 Lidemy Learnung 為例
Request URL
: https://learning.lidemy.com/profile (網址)
Request Method
: GET (可能是 post、head...)
Status Code
: 200 (狀態碼)
Remote Address
: 172.67.186.205:443 (IP 位置)
Referrer Policy
: no-referrer (跳轉來源的顯示狀態)
基本 HTTP method
GET
:取得資料HEAD
:取得 Head 資料POST
:執行動做PUT
:新增資料會覆蓋PATCH
:新增資料布覆蓋
基本 HTTP Status Code
- 100 開頭:資訊
- 200 開頭:成功 ex.
200
:ok 、204
:沒有內容 - 300 開頭:重定位 ex.
301
:永久移到新位置、302
:暫時移到新位置 - 400 開頭:用戶端的錯 ex.
404
:找不到請求資源 - 500 開頭:伺服器的錯 ex.
500
:伺服器發生未知的錯誤、503
:伺服器尚未準備好處理 request
用一句話說 API
API(Application Programming Interface) 應用程式介面,可以透過 API 讓雙方交換資料