聽說你叫Java(二) Servlet請求

2021-09-16 23:49:25 字數 2751 閱讀 3684

servlet客戶端http請求

當瀏覽器傳送請求到伺服器的時候,這個請求是不能被直接讀取的,請求中包含了非常多的資訊,而需要被讀取的,只是請求中的一部分。

如圖

我們可以看一下請求頭有哪些常用的資訊,以及它們的作用是什麼

accept-charset

這個頭資訊告訴伺服器處理表單資料所需要使用的字符集。

我們知道,在中有乙個屬性叫做accept-charset,就是用來設定請求頭中accept-charset屬性的值的。

常用的值有iso-8859-1utf-8

connection

我們知道http協議採用「請求-應答」模式,當使用普通模式,即非keep-alive模式時,每個請求/應答客戶和伺服器都要新建乙個連線,完成 之後立即斷開連線(http協議為無連線的協議)

當使用keep-alive模式(又稱持久連線、連線重用)時,keep-alive功能使客戶端到服 務器端的連線持續有效,當出現對伺服器的後繼請求時,keep-alive功能避免了建立或者重新建立連線。

cookie

cookie大家應該都非常熟悉了,這個資訊就是用來存放cookie,並傳給伺服器的。

if-modified-since&if-unmodified-since

這兩個頭資訊的值都是date格式,用來告訴伺服器所需要的檔案的日期範圍。

如果伺服器上沒有更新或者更舊的檔案,就會返回乙個304的狀態碼,表示檔案並沒有改動,可以直接從快取中載入。

user-agent

這個資訊記錄了發出請求的客戶端的資訊,包含了瀏覽器型別、版本等資訊。通過這個資訊可以做瀏覽器型別判斷。

servlet伺服器http響應

當客戶端傳送了乙個請求給伺服器,伺服器也會返回乙個響應給客戶端,同樣的,這個響應中也包含了除資料之外的很多資訊。

如圖

control-allow-origin

access-control-allow-origin是html5中定義的一種解決資源跨域的策略。

如果設定為我們自己當前頁面的網域名稱時,瀏覽器才會允許我們拿到這個響應的資料,並進行下一步的處理。當設定為*的時候,表示該資源誰都可以用。

content-type

這個頭資訊告訴瀏覽器這個響應的資料格式及編碼型別。

server

通過伺服器的響應頭,我們還能知道伺服器的型別。

set-cookie

web伺服器通過傳送http 包頭中的set-cookie 訊息把乙個cookie 傳送到使用者的瀏覽器中。

完整的set-cookie格式如下

set-cookie:customer=huangxp; path=/foo; domain=.ibm.com; 

expires= wednesday, 19-oct-05 23:12:40 gmt; [secure]

path=/foo控制哪些訪問能夠觸發cookie 的傳送。如果沒有指定path,cookie會在所有對此站點的http傳送時傳送。

如果path=/directory,只有訪問/directory 下面的網頁時,cookie才被傳送。

domain=.ibm.com指定cookie被傳送到哪台計算機上。

正常情況下,cookie只被送回最初向使用者傳送cookie的計算機。如果domain 被設為空,domain就被設定為和提供cookie 的web 伺服器相同。如果domain不為空,並且它的值又和提供cookie的web伺服器網域名稱不符,這個cookie將被忽略。

expires= wednesday, 19-oct-05 23:12:40 gmt指定cookie 失效的時間。如果沒有指定失效時間,這個cookie 就不會被寫入計算機的硬碟上,並且只持續到這次會話結束。

secure如果secure 這個詞被作為set-cookie 頭的一部分,那麼cookie 只能通過安全通道傳輸(目前即ssl通道)。否則,瀏覽器將忽略此cookie。

最後這麼多的屬性留給我們去使用,去互動資料,它們就像乙個個的座位,servlet的http請求就像一輛在客戶端和伺服器之間往返的大巴。

乙個複雜的web應用正是因為這些大巴組成的交通網才能暢通無阻。

下一章——大巴司機httpservletresponsehttpservletrequest

Linq to excel 你聽說過嗎?

今天在網上偶爾發現乙個開源專案,linq to excel,感覺挺有意思的,不過這個可能要.net 3.0以上才可以用吧 類似以下的 var excel new excelqueryfactory excelfilename var indianacompanies from c in excel ...

聽說你不會玩直播技術?

直播是今年來最火的乙個話題,也成為2016年的流行吸金方式之一 遊戲直播 鬥魚 熊貓tv 虎牙直播 龍珠直播 戰旗tv 直播技術分析 ios客戶端需要掌握哪些技術?即時通訊 1 觀眾和主播互動的禮物 聊天及時呈現 2 彈幕 體介面的搭建和展示 解協議 遠端伺服器通過某種協議將資料傳遞給我們客戶端,客...

聽說你的需求做不完

需求太多,是程式設計師們共同面對的困局。從前端到後端 從資料到分析 從互動到測試,幾乎每個人都很忙。大公司的用人標準,早期有乙個很常見的說法,叫作 三個程式設計師,拿四個人的工資,做五個人的事情 在行業高速發展期,給更多的錢,確實非常吸引人。但後來,行業發展不像早期那麼快速,內捲的趨勢隱隱然在加劇,...