http的請求部分
基本結構
- 請求行 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:時間
