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://static.javashuo.com/static/loading.gif)
詳情可參考瀏覽器
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服務器