http的請求部分
基本結構apache
- 請求行 GET /test/hello.html HTTP/1.1
- 消息頭(並非每一次請求都同樣)
- 空行
- 內容(內容名字=內容體)
經常使用請頭信息
- Accept:text/html,image/*(告訴服務器,瀏覽器能夠接受文本,網頁圖片)
- Accept-Charaset:ISO-8859-1 [接受字符編碼:iso-8859-1]
- Accept-Encoding:gzip,compress[能夠接受 gzip,compress壓縮後數據]
- Accept-Language:zh-cn[瀏覽器支持的語言]
- Host:localhost:8080[瀏覽器要找的主機]
- IF-MODIFIED-Since:Tue,11Jul 2000 18:23:51[告訴服務器我這緩存中有這個文件,該文件的時間]
- Referer:http://localhost:8080/test/abc.html[告訴服務器我來自哪裏,經常使用於防止下載,盜鏈]
- User-Agent:Nozilla/4.0(Com...)[告訴服務器個人瀏覽器內核]
- Cookie:[Cookie,經常使用於認證]
- Connection:close/Keep-Alive [保持連接,發完數據後,我不關閉連接]
- Date:[瀏覽器發送數據的請求時間]
經常使用響應頭信息
- location:http://www.baidu.org/index.jsp
- server:apache tomcat [告訴瀏覽器我是tomcat]
- Content-Encoding:gzip[告訴瀏覽器我使用了gzip]
- Content-Lenght:80 [告訴瀏覽器回送的數據大小]
- Content-Language:zh-cn[支持中文]
- Content-Type:text/html;charset=gb2312[內容格式和編碼]
- Last-Modified:Tue,11 Juj,2000 18 18:29:20[告訴瀏覽器該資源上次更新
- 時間是多少]
- Refresh:1;url=http://www.baidu.com[過多久刷新到哪裏去]
- Content-Disposition;attachment;filename=aaa.zip[告訴瀏覽器有文件下載]
- Transfer-Encoding:chunked[傳輸編碼]
- Set-Cookie:
- Expires:-1[告訴瀏覽器如何緩存頁面]
- cache-Control:[告訴瀏覽器如何緩存頁面(由於瀏覽器的兼容性最好設置兩個)]
- pragma:no-cache
- Connection:close/Keep-Alive
- Date:Tue,11 Jul 2000 18:23:51
(1)有些網站對及時性比較高,咱們不緩存頁面
response.setDateHeader("Expires",-1);
//爲了保證兼容性
response.setHeader("Cache-Control","no-cache")
response.setHeader("Pragma","no-cache")
(2)有些網站要求網頁緩存必定時間,好比緩存一個小時
response.setDateHeader("Expires",System.currentimeMillis()*3600*1000*24);
通用信息頭
Cache-Control:no-cache
Pragma:no-cache
Connection:close/Keep-Alive瀏覽器
Date:時間緩存