摘要:服務(wù)器響應(yīng)當(dāng)客戶(hù)端發(fā)送了一個(gè)請(qǐng)求給服務(wù)器,服務(wù)器也會(huì)返回一個(gè)響應(yīng)給客戶(hù)端,同樣的,這個(gè)響應(yīng)中也包含了除數(shù)據(jù)之外的很多信息。如果沒(méi)有指定,會(huì)在所有對(duì)此站點(diǎn)的傳送時(shí)發(fā)送。正常情況下,只被送回最初向用戶(hù)發(fā)送的計(jì)算機(jī)。下一章大巴司機(jī)和。
Servlet客戶(hù)端HTTP請(qǐng)求
當(dāng)瀏覽器發(fā)送請(qǐng)求到服務(wù)器的時(shí)候,這個(gè)請(qǐng)求是不能被直接讀取的,請(qǐng)求中包含了非常多的信息,而需要被讀取的,只是請(qǐng)求中的一部分。
如圖
我們可以看一下請(qǐng)求頭有哪些常用的信息,以及它們的作用是什么
這個(gè)頭信息告訴服務(wù)器處理表單數(shù)據(jù)所需要使用的字符集。
我們知道,在中有一個(gè)屬性叫做accept-charset,就是用來(lái)設(shè)置請(qǐng)求頭中Accept-Charset屬性的值的。
常用的值有ISO-8859-1、UTF-8。
我們知道HTTP協(xié)議采用“請(qǐng)求-應(yīng)答”模式,當(dāng)使用普通模式,即非Keep-Alive模式時(shí),每個(gè)請(qǐng)求/應(yīng)答客戶(hù)和服務(wù)器都要新建一個(gè)連接,完成 之后立即斷開(kāi)連接(HTTP協(xié)議為無(wú)連接的協(xié)議)
當(dāng)使用Keep-Alive模式(又稱(chēng)持久連接、連接重用)時(shí),Keep-Alive功能使客戶(hù)端到服 務(wù)器端的連接持續(xù)有效,當(dāng)出現(xiàn)對(duì)服務(wù)器的后繼請(qǐng)求時(shí),Keep-Alive功能避免了建立或者重新建立連接。
對(duì)Cookie大家應(yīng)該都非常熟悉了,這個(gè)信息就是用來(lái)存放Cookie,并傳給服務(wù)器的。
這兩個(gè)頭信息的值都是Date格式,用來(lái)告訴服務(wù)器所需要的文件的日期范圍。
如果服務(wù)器上沒(méi)有更新或者更舊的文件,就會(huì)返回一個(gè)304的狀態(tài)碼,表示文件并沒(méi)有改動(dòng),可以直接從緩存中加載。
這個(gè)信息記錄了發(fā)出請(qǐng)求的客戶(hù)端的信息,包含了瀏覽器類(lèi)型、版本等信息。通過(guò)這個(gè)信息可以做瀏覽器類(lèi)型判斷。
Servlet服務(wù)器HTTP響應(yīng)當(dāng)客戶(hù)端發(fā)送了一個(gè)請(qǐng)求給服務(wù)器,服務(wù)器也會(huì)返回一個(gè)響應(yīng)給客戶(hù)端,同樣的,這個(gè)響應(yīng)中也包含了除數(shù)據(jù)之外的很多信息。
如圖
Access-Control-Allow-Origin是HTML5中定義的一種解決資源跨域的策略。
如果設(shè)置為我們自己當(dāng)前頁(yè)面的域名時(shí),瀏覽器才會(huì)允許我們拿到這個(gè)響應(yīng)的數(shù)據(jù),并進(jìn)行下一步的處理。當(dāng)設(shè)置為*的時(shí)候,表示該資源誰(shuí)都可以用。
這個(gè)頭信息告訴瀏覽器這個(gè)響應(yīng)的數(shù)據(jù)格式及編碼類(lèi)型。
常用值為application/json;charset=utf-8
通過(guò)服務(wù)器的響應(yīng)頭,我們還能知道服務(wù)器的類(lèi)型。
Web服務(wù)器通過(guò)傳送HTTP 包頭中的Set-Cookie 消息把一個(gè)cookie 發(fā)送到用戶(hù)的瀏覽器中。
完整的Set-cookie格式如下
Set-Cookie:customer=huangxp; path=/foo; domain=.ibm.com; expires= Wednesday, 19-OCT-05 23:12:40 GMT; [secure]
path=/foo 控制哪些訪問(wèn)能夠觸發(fā)cookie 的發(fā)送。如果沒(méi)有指定path,cookie會(huì)在所有對(duì)此站點(diǎn)的HTTP傳送時(shí)發(fā)送。
如果path=/directory,只有訪問(wèn)/directory 下面的網(wǎng)頁(yè)時(shí),cookie才被發(fā)送。
domain=.ibm.com 指定cookie被發(fā)送到哪臺(tái)計(jì)算機(jī)上。
正常情況下,cookie只被送回最初向用戶(hù)發(fā)送cookie的計(jì)算機(jī)。如果domain 被設(shè)為空,domain就被設(shè)置為和提供cookie 的Web 服務(wù)器相同。如果domain不為空,并且它的值又和提供cookie的Web服務(wù)器域名不符,這個(gè)Cookie將被忽略。
expires= Wednesday, 19-OCT-05 23:12:40 GMT 指定cookie 失效的時(shí)間。如果沒(méi)有指定失效時(shí)間,這個(gè)cookie 就不會(huì)被寫(xiě)入計(jì)算機(jī)的硬盤(pán)上,并且只持續(xù)到這次會(huì)話結(jié)束。
secure 如果secure 這個(gè)詞被作為Set-Cookie 頭的一部分,那么cookie 只能通過(guò)安全通道傳輸(目前即SSL通道)。否則,瀏覽器將忽略此Cookie。
最后這么多的屬性留給我們?nèi)ナ褂?,去交互?shù)據(jù),它們就像一個(gè)個(gè)的座位,Servlet的HTTP請(qǐng)求就像一輛在客戶(hù)端和服務(wù)器之間往返的大巴。
一個(gè)復(fù)雜的Web應(yīng)用正是因?yàn)檫@些大巴組成的交通網(wǎng)才能暢通無(wú)阻。
下一章——大巴司機(jī)HttpServletResponse和HttpServletRequest。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/67004.html
摘要:所以,就是接收瀏覽器或其他客戶(hù)端發(fā)來(lái)的請(qǐng)求,根據(jù)請(qǐng)求操作數(shù)據(jù)庫(kù),并返回請(qǐng)求所需要的數(shù)據(jù)。和方法是每次服務(wù)請(qǐng)求中最常用的方法,分別用于處理和請(qǐng)求。實(shí)現(xiàn)一個(gè)簡(jiǎn)單的在中新建一個(gè)項(xiàng)目。接著,在目錄下新增一個(gè),命名為。 本文是菜鳥(niǎo)教程閱讀筆記,詳細(xì)請(qǐng)前往菜鳥(niǎo)教程 是什么 Java Servlet是運(yùn)行在Web服務(wù)器上的程序,它是作為來(lái)自Web瀏覽器和服務(wù)器上的數(shù)據(jù)庫(kù)之間的中間層。 簡(jiǎn)單點(diǎn)說(shuō),我們...
摘要:幸好,給我們提供了過(guò)濾器解決這個(gè)問(wèn)題??梢詫⒁粋€(gè)或多個(gè)過(guò)濾器附加到一個(gè)或一組。同樣的,過(guò)濾器是可用于編程的類(lèi),也需要在中聲明的。用戶(hù)訪問(wèn)后續(xù)過(guò)濾器。過(guò)濾器和攔截器是兩個(gè)完全不同的概念。 聽(tīng)說(shuō)你改bug很厲害,幫我改一個(gè)吧????showImg(https://segmentfault.com/img/bVMsm7?w=402&h=223); 上一章我們講到了Servlet請(qǐng)求,可以通過(guò)...
摘要:一進(jìn)程同步及異步的概念進(jìn)程同步就是在發(fā)出一個(gè)功能調(diào)用時(shí),在沒(méi)有得到結(jié)果之前,該調(diào)用就不返回。同步傳輸通常,同步傳輸是以數(shù)據(jù)塊為傳輸單位。三同步阻塞與異步阻塞同步是阻塞模式,異步是非阻塞模式。 進(jìn)程同步用來(lái)實(shí)現(xiàn)程序并發(fā)執(zhí)行時(shí)候的可再現(xiàn)性。 一.進(jìn)程同步及異步的概念 1.進(jìn)程同步:就是在發(fā)出一個(gè)功能調(diào)用時(shí),在沒(méi)有得到結(jié)果之前,該調(diào)用就不返回。也就是必須一件一件事做,等前一件做完了才能做下一...
摘要:一前言上面寫(xiě)了的亂碼問(wèn)題,接下來(lái)寫(xiě)的是中中的問(wèn)題,大楷我比較關(guān)心一點(diǎn),因?yàn)橛龅竭@個(gè)的情況多一些吧。注意是就行了,之前采用是由用戶(hù)設(shè)置的編碼方式解析,過(guò)后有個(gè)參數(shù)被默認(rèn)了,就使用了解析了,這兒是配置中的關(guān)鍵。 一、前言 上面寫(xiě)了console的亂碼問(wèn)題,接下來(lái)寫(xiě)的是web中servlet中的問(wèn)題,大楷我比較關(guān)心一點(diǎn),因?yàn)橛龅竭@個(gè)的情況多一些吧。直接開(kāi)始吧。 二、jsp和servlet中的...
摘要:當(dāng)后繼請(qǐng)求相同的頁(yè)面時(shí),容器加載之前生成的類(lèi),并且通知去執(zhí)行已經(jīng)存在的字節(jié)碼,從而省去了轉(zhuǎn)換的過(guò)程,這也是第一次執(zhí)行頁(yè)面時(shí)間較長(zhǎng)的原因。 以往學(xué)習(xí)的時(shí)候大多是看完書(shū)或者看完視頻,動(dòng)手實(shí)踐一下就OK了。然而過(guò)了一段時(shí)間我發(fā)現(xiàn)東西都忘差不多了,需要復(fù)習(xí)才能重新掌握?,F(xiàn)在開(kāi)始學(xué)習(xí)JavaWeb了,我將在這里記錄自己的學(xué)習(xí)的一點(diǎn)一滴,不僅便于自己以后回顧知識(shí)點(diǎn),也希望能對(duì)JavaWeb初學(xué)者有...
閱讀 3783·2023-04-26 00:16
閱讀 1417·2021-11-25 09:43
閱讀 3897·2021-11-23 09:51
閱讀 3028·2021-09-24 09:55
閱讀 774·2021-09-22 15:45
閱讀 1452·2021-07-30 15:30
閱讀 3121·2019-08-30 14:04
閱讀 2344·2019-08-26 13:46