iT邦幫忙

2024 iThome 鐵人賽

DAY 14
0

GETPOSTcookie 是在 Web 開發中常見的概念,分別代表不同的 HTTP 請求方法和狀態管理技術。

1. GET 請求

GET 是一種 HTTP 方法,主要用來從伺服器獲取資料。特點如下:

  • 用途:讀取資料而不改變伺服器狀態,例如加載網頁內容或查詢數據。
  • 資料傳遞方式:請求的參數附加在 URL 之後,格式為 ?&,因此 URL 可讀。
  • 安全性:敏感資訊不應通過 GET 傳遞,因為參數顯示在 URL 中。
  • 限制:URL 的長度有限(通常是 2048 字符),不適合傳遞大量資料。

範例

GET /search?q=example HTTP/1.1
Host: www.example.com

這會向 /search 發送查詢參數 q=example,以獲取搜尋結果。

2. POST 請求

POST 也是 HTTP 方法之一,用來將資料發送到伺服器。主要用於提交資料並改變伺服器上的狀態,如表單提交、上傳文件等。

  • 用途:用來提交資料,並可能改變伺服器狀態(例如創建用戶或發佈消息)。
  • 資料傳遞方式:資料放在請求的 body 中,而不是 URL 中,因此適合大數據或敏感資料傳遞。
  • 安全性:雖然資料不顯示在 URL 中,但仍應搭配 HTTPS 保護敏感資料。

範例

POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded

username=admin&password=secret

這將 usernamepassword 這些表單資料提交到伺服器。

3. Cookie

Cookie 是用來在客戶端和伺服器之間存儲少量數據的一種技術,通常用來識別用戶、維持會話狀態,或儲存偏好設置。瀏覽器會將 cookie 存儲起來,並在後續請求中自動附帶發送給伺服器。

  • 用途:維持用戶的登入狀態、存儲用戶偏好、跟蹤使用行為等。
  • 特性
    • name=value:cookie 的名稱和值。
    • expiresmax-age:指定 cookie 的過期時間。
    • domainpath:限定 cookie 的作用域。
    • Secure:僅通過 HTTPS 傳輸 cookie。
    • HttpOnly:禁止 JavaScript 訪問,增強安全性。

範例

Set-Cookie: sessionId=abc123; Path=/; HttpOnly; Secure

伺服器通過 HTTP 響應設置 cookie,然後客戶端會在後續的請求中自動發送該 cookie。

請求帶有 Cookie 的範例

GET /profile HTTP/1.1
Host: www.example.com
Cookie: sessionId=abc123

總結

  • GET:用來從伺服器讀取資料,參數在 URL 中。
  • POST:用來向伺服器提交資料,資料放在請求 body 中。
  • Cookie:用來儲存客戶端的狀態信息,並在後續請求中自動傳回伺服器。

上一篇
Http
下一篇
JavaScript 進階認知
系列文
從零開始開一間火鍋店並架設官網30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言