javaweb入門筆記(2)-http入門

javaweb入門筆記(2)-http入門

標籤: javaweb httphtml


[TOC]java


對HTTP協議早有了解,最近在看javaweb,視頻中講到了這部分,就把視頻的內容整理概括下git

請求(Request)

一個完整的HTTP請求包括:一個請求行、若干請求頭、以及實體內容github

請求頭字段

  • Accept:用於告訴服務器,客戶機支持的數據類型
  • Accept-Charset:用於告訴服務器,客戶機採用的編碼
  • Accept-Encoding:用於告訴服務器,客戶機支持數據壓縮格式
  • Accept-Language:客戶機的語言環境
  • Host:客戶機經過這個頭告訴服務器,想訪問的主機名
  • If-Modified-Since:客戶機經過這個頭告訴服務器,資源的緩存時間
  • Refer:客戶機經過這個頭告訴服務器,它是從哪一個資源訪問服務器的(防盜鏈)
  • User-Agent:客戶機經過這個頭告訴服務器,客戶機的軟件環境
  • Cookie:客戶機經過這個頭向服務器帶數據
  • Connection:這個請求完了,是保持鏈接仍是關閉
  • Range:斷點下載
    • bytes=n1-n2,傳輸範圍n1到n2字節
    • bytes=n-,傳輸web資源中第n個字節之後的全部內容
    • bytes=n,傳輸最後n個字節

響應(Response)

一個HTTP響應表明服務器向客戶端回送的數據,包括:一個狀態行、若干消息頭、以及實體內容web

響應狀態行

HTTP響應狀態碼簡表

詳情可參考瀏覽器

HTTP 狀態消息緩存

響應頭字段

  • Location:這個頭配合302狀態碼使用,用於告訴客戶機找誰(location和302實現請求重定向)
  • Server:服務器經過這個頭,告訴瀏覽器服務器的類型
  • Content-Encoding:服務器經過這個頭,數據的壓縮格式 (相關java知識:GZIPOutputStream,包裝流/底層流)
  • Content-Length:服務器經過這個頭,告訴瀏覽器回送數據的長度
  • Content-Type:服務器經過這個頭,告訴瀏覽器回送數據的類型
  • Last-Modified:服務器經過這個頭,告訴瀏覽器當前資源的緩存時間
  • Refresh:服務器經過這個頭,告訴瀏覽器隔多長時間刷新一次
  • Content-Disposition:服務器經過這個頭,告訴瀏覽器如下載方式打開
  • Transfer-Encoding:服務器經過這個頭,告訴瀏覽器數據的傳送格式
  • Etag:緩存相關的頭部,用於實時性要求高的系統
  • Expires:服務器經過這個頭,告訴瀏覽器把回送的資源緩存多長時間,-1或0則不緩存
  • Cache-Control和Pragma:no-cache,服務器經過這兩個頭,也是控制瀏覽器不要緩存數據
  • Connection:斷開鏈接/保持鏈接
  • Date:當前時間
  • Accept-Ranges:用來講明web服務器是否支持range。支持返回bytes;不支持返回none
  • Content-Range:制定了返回web資源的字節範圍,格式:n1-n2/n_total

做者@brianway更多文章:我的網站 | CSDN | oschina服務器

相關文章
相關標籤/搜索