① http協議是建立在
tcp/ip
協議基礎上
② http協議全稱超文字傳輸協議
③ http協議
1.0 , 1.1
版本 ,目前通用的是
1.1版本
http1.0 稱為短連線
http1.1 稱為長連線.
所謂長,和短
指的是持續時間的
長連線 1.1 30s ,短連線是傳送完資料就斷掉
. http的請求部分:
基本結構:
get /test/hello.html http/1.1 [請求行
]accept: */*
[訊息名
] 訊息名:內容
connection: keep-alive[訊息頭格式
(訊息名: 內容 )
特別說明:
並不是每一次請求的訊息頭都一樣.]空行
傳送的內容 [格式
: 內容名字
=內容體]
請求方式
請求行中的get稱之為請求方式,請求方式有:
post,get,head,options,delete,trace,put
常用的有:post,get
get news/abc.jsp
http請求訊息頭
accept: text/html,image/* [告訴伺服器,我可以接受 文字,網頁,]
accept-charset: iso-8859-1 [接受字元編碼 iso-8859-1]
accept-encoding: gzip,compress [可以接受 gzip,compress壓縮後資料.]
accept-language: en-us,zh-cn [瀏覽器支援中,英文]
host: www.sohu.com:80 [我要找主機是 www.sohu.com:80]
if-modified-since: tue, 11 jul 2000 18:23:51 gmt [ 告訴伺服器,我的緩衝中有這個資源檔案,該檔案的時間是 。。。]
referer: [告訴伺服器,我來自**,該訊息頭,常用於防止盜鏈]
user-agent: mozilla/4.0 (compatible; msie 5.5; windows nt 5.0)[告訴伺服器,瀏覽器核心]
cookie [cookie??]
connection: close/keep-alive [保持連線,發完資料後,我不關閉連線]
date: tue, 11 jul 2000 18:23:51 gmt [瀏覽器傳送該http請求的時間]
關於referer的實際案例:
//獲取使用者瀏覽器
紅色的部分可以根據實際情況來修改.
http的響應
狀態行:
格式
:http版本號 狀態碼 原因敘述
舉例:
狀態碼含義100-199
表示成功接收請求,要求客戶端繼續提交下一次請求才能完成整個處理過程
200-299
表示成功接收請求並完成整個處理過程,常用
200
300-399
為完成請求,客戶需要進行一步細化請求。例如:請求的資源已經移動乙個新的位址,常用
302,307
400-499
客戶端的請求有錯誤
404
500-599
伺服器端出現錯誤,常用
500
http響應的狀態行舉例說明
200 就是整個請求和響應過程沒有發生錯誤,這個最常見.
302: 表示當你請求乙個資源的時候,伺服器返回
302
表示,讓瀏覽器轉向到另外乙個資源,比如
: response.sendredirect(「/web應用
/資源名」)
案例:response.setstatus(302);
response.setheader(
"location"
, "/servletpro/servlet2");
//上面兩句話等價
response.sendredirect("/servletpro/servlet2");
404: 找不到資源
500: 伺服器端錯誤
//http響應訊息頭詳解
location: 【讓瀏覽器重新定位到url】
server:apache tomcat 【告訴瀏覽器我是tomcat】
content-encoding: gzip 【告訴瀏覽器我使用 gzip】
content-length: 80 【告訴瀏覽器會送的資料大小80節】
content-language: zh-cn 【支援中文】
content-type: text/html; charset=gb2312 [內容格式text/html; 編碼gab2312]
last-modified: tue, 11 jul 2000 18:23:51 gmt 【告訴瀏覽器,該資源上次更新時間】
refresh: 1;url= 【過多久去,重新整理到 】
transfer-encoding: chunked [傳輸的編碼]
set-cookie:ss=q0=5lb_nq; path=/search[後面詳講]
expires: -1[告訴瀏覽器如何快取頁面ie]
cache-control: no-cache [告訴瀏覽器如何快取頁面火狐]
pragma: no-cache [告訴瀏覽器如何快取頁面]
connection: close/keep-alive [保持連線 1.1是keep-alive]
date: tue, 11 jul 2000 18:23:51 gmt
①定時重新整理refresh使用
//缺點: 沒有進度條./圖示/
//關閉
os.close();
fis.close();
}
③快取講解
提出問題:瀏覽器預設情況下,會快取我們的頁面,這樣出現乙個問題:如果我們的使用者習慣把游標停留在位址列,然後回車來取頁面,就會預設呼叫cache中取資料。
(1) 有些**要求及時性很高,因此要求我們不快取頁面
**:
//指定該頁面不快取 ie
response.setdateheader("expires", -1);【針對ie瀏覽器設定不快取】
//為了保證相容性.
response.setheader("cache-control", "no-cache");【針對火狐瀏覽器等】
response.setheader("pragma", "no-cache");【其他瀏覽器】
(2)
有些**要求網頁快取一定時間,比如快取乙個小時
response.setdateheader("expires", system.currenttimemillis()+3600*1000*24);後面乙個引數表示設定的快取保持時間,-1表示永遠快取
Http協議的介紹
一,http協議 1.什麼是http協議 http,超文字傳輸協議 hypertext transfer protocol 是網際網路上應用最廣泛的一種網路協議 所有的www檔案都必須遵守這個標準。設計http最初的目的就是為了提供一種發布和接受html頁面的方法 2.http協議的組成 http協...
http協議介紹
http協議是建立在tcp ip協議基礎上 http協議全稱 超文字傳輸協議 http協議1.0 1.1版本 目前通用的是1.1版本 http1.0 稱為短連線 http1.1 稱為長連線.所謂長,和短指的是 持續時間的 長連線 1.1 30s 短連線是傳送完資料就斷掉.http的請求部分 基本結構...
HTTP協議介紹
http概述 超文字傳輸協議基於tcp ip通訊協議來傳遞資料 如html檔案,結果 是乙個屬於應用層的物件導向的協議,由於簡捷,快速的方式適用於分布式超 資訊系統 工作於客戶端 伺服器架構 c s架構 瀏覽器作為客戶端通過url向http服務端即web伺服器傳送所有請求 http主要特點 簡單快速...