http頭部常見信息

準備寫一個http類型的服務器,基於應用層,知識查看於https://www.php.cn/manual/view/35624.html

ETag 

HTTP 響應報頭爲資源的特定版本的標識符。它允許緩存更高效,並節省帶寬,因爲如果內容沒有改變,Web 服務器不需要發送完整的響應。另一方面,如果內容發生了變化,etags 有助於防止資源的同時更新互相覆蓋(“空中衝突”)。

如果給定 URL 處的資源發生更改,則Etag必鬚生成新值。因此,Etags 與指紋相似,也可能用於某些服務器的跟蹤目的。它們的比較可以快速確定資源的兩個表示是否相同,但它們也可能被設置爲無限期地由跟蹤服務器持續存在。

語法:

ETag: W/"<etag_value>"ETag: "<etag_value>"

Last-Modified

響應HTTP報頭包含在其原始服務器認爲該資源的最後修改日期和時間。它被用作驗證器來確定接收或存儲的資源是否相同。不如ETag標題準確,它是一種回退機制。包含條件請求If-Modified-SinceIf-Unmodified-Since標題使用此字段。

Date

語法:
Date: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT

 

通用 HTTP 報頭包含在該消息起源的日期和時間。

LocationContent-Location

Location指示重定向的 URL ,同時Content-Location指示用於訪問資源的直接 URL ,而未來未進一步內容協商。

Location是與響應關聯的頭部,Content-Location與返回的數據相關聯。沒有示例,這種區分看起來很抽象。

Content-Length

實體報頭指示該實體主體的大小,以字節爲單位的十進制數,發送到接收方

 

If-Range 

HTTP 請求報頭使得範圍請求的條件:如果條件被滿足,該範圍的請求將被髮出,並且服務器發送回一個206 Partial Content與適當的身體的答案。如果條件未滿足,則會返回具有200 OK狀態的完整資源。

這個頭文件可以與Last-Modified驗證器一起使用,也可以與一個ETag,但不與兩者一起使用。

最常見的用例是恢復下載,以確保自從收到最後一個片段後,存儲的資源未被修改。

 

Content-Range

響應的 HTTP 報頭指示其中一個完整的身體信息的部分消息所屬。

Content-Range: bytes 200-1000/67589
Content-Range: <unit> <range-start>-<range-end>/<size>Content-Range: <unit> <range-start>-<range-end>/*
Content-Range: <unit> */<size>

比如我使用分塊傳輸,文件上傳下載,則需要content-range配合206狀態碼使用。

Transfer-Encoding

頭指定用於將安全地傳輸編碼的形式的實體提供給用戶。

常用的比如chunked ,數據以一系列塊的形式發送。該Content-Length標題省略在這種情況下,並在每個需要添加十六進制格式的當前塊的長度,其次是塊“的開始\r\n”,然後是塊本身,緊接着又“ \r\n”。終止塊是一個常規塊,除長度爲零外。其後是拖車,它由一個(可能是空的)實體標題字段序列組成。compress使用 Lempel-Ziv-Welch(LZW)算法的格式。值名取自實施此算法的 UNIX 壓縮程序。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章