iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0

HTTP 協議

  • 定義:HTTP (Hypertext Transfer Protocol) 是一種基於「請求-回應」模型的應用層協議,用於在 World Wide Web (就是 網址的 www)上傳輸資訊。
  • 版本:HTTP/1.0、HTTP/1.1 和 HTTP/2 是常見的版本。同樣的也有 HTTP/3 ,它基於 QUIC 協議。

QUIC提供幾乎等同於TCP連接的可靠性,但它可以大大的減少延遲。它主要透過兩個理解HTTP流量的行為來實現這一點。

  • HTTP 與 HTTPS:HTTPS 是安全版本的 HTTP,它使用 SSL/TLS 協議加密資料。
  • 請求方法:如 GET(獲取資源)、POST(提交數據)、PUT(更新資源)等。
  • 狀態碼:例如 200(OK)、404(Not Found)、500(Internal Server Error)等。
    https://ithelp.ithome.com.tw/upload/images/20230918/20162491EPD6HP1zHr.png

HTTP 請求和回應結構

  • 請求行:例如 GET /index.html HTTP/1.1,表示使用 GET 方法獲取 /index.html 資源,並使用 HTTP/1.1 版本。
  • 頭部(Headers):包含資訊如 User-Agent(用戶代理)、Accept(可接受的媒體類型)等。
  • 消息主體:在某些請求(如 POST 請求)中包含提交的數據。

Web 應用結構

https://ithelp.ithome.com.tw/upload/images/20230918/201624910LMKwjNTBs.png

  • 前端(Client Side)
    • 靜態資源:例如 HTML、CSS、JavaScript 檔案。
    • 動態交互:如 AJAX 請求、WebSockets 通訊。
  • 後端(Server Side)
    • 伺服器:如 Apache、Nginx、Node.js。
    • 應用程式:例如使用 PHP、Python、Ruby、Java 等語言寫成。
    • 數據庫:如 MySQL、PostgreSQL、MongoDB。
  • 中間件(Middleware):功能如路由、身份驗證、日誌記錄等。

伺服器和客戶端的交互

  • 連接建立:通常使用 TCP 三次握手。
  • 數據交換:客戶端發送 HTTP 請求,伺服器回應。
  • 連接終止:可由任一方終止,通常使用 TCP 四次握手。

Session 和 Cookie

  • Cookie
    • 用於保存用戶設定或識別用戶
    • 以明碼方式傳送
    • 不會因為瀏覽器的關閉,而消失
  • Session
    • 存在server端
    • 用來保存用戶狀態的資訊,常與 Cookie 結合使用
    • 主要是記錄在 web server 上的使用者訊息

參考資料

https://developer.mozilla.org/zh-TW/docs/Web/HTTP/Status
https://www.cloudflare.com/zh-tw/learning/ddos/glossary/hypertext-transfer-protocol-http/
https://ithelp.ithome.com.tw/articles/10187212


上一篇
[Day 2] Web 基礎知識
下一篇
[Day 4]Web 攻擊的種類和目標
系列文
從 Moblie Development 主題被損友洗腦鬼轉 Security 的我真的可以完賽嗎?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言