快轉到主要內容

基礎知識惡補 - Http協定

·762 字·2 分鐘
Denny Cheng / 月月冬瓜
作者
Denny Cheng / 月月冬瓜
獸控兼工程師兼鍵盤武術家

來源網址:https://read01.com/J8P4L.html
要注意最後一段說get比較不安全是錯的,你他媽的不轉成https通通都是不安全。

Client端
#

分三區塊

  • Request line
  • Request header
  • Body

Request line
#

Request header
#

  • Accept:client告知server可以接受的媒體類型(json, xml, html …),大部分使用*/*代表全部都接受。
  • Referer:告訴伺服器端我是從哪裡連過來
  • Accept-Language:瀏覽器端接受的語言
    • EX: 中文、英文…
  • Accept-Charset:瀏覽器端接受的字符集
    • EX: BIG5, UTF-8, GBK …
  • Content-Type
    • Body的檔案類型
    • 補充資料,與Accept的差別
    • 簡單的說,當client傳送檔案給server,content-type可以描述這個檔案的類型。當server吐response回給client,content-type一樣可以描述這個檔案的類型。
    • accept是請求對方返回的類型,content-type是實際一個request或response中夾帶的類型。
  • Accept-Encoding:client端的編碼(壓縮)方法
  • User-Agent:client端的作業系統,瀏覽器名稱
  • Connection
  • Content-length: 訊息長度
  • Host:該資源的domain Name
  • 剩下一些懶得看
    • Pragma
    • Cookie

Body
#

就是個Body

Server端
#

一樣分三區塊

  • Response line
  • Response header
  • Body

Response line
#

  • 協議版本及狀態碼
  • 例如:HTTP/1.1 200 OK

Response header
#

有些部分跟request一樣,少部分懶得看。

Content-Type:回傳資料的型態 Expired:回傳資料過期時間

  • 懶得看
    • Cache-Control
    • Last-Modified:
      • Server
      • X-AspNet-Version:
      • X-Powered-By:
      • Connection
      • Content-Length
      • Date

Body
#

就只是個Body