http協議的再介紹

2021-07-31 02:37:20 字數 4591 閱讀 6686

① 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主要特點 簡單快速...