據說你叫Java(二)–Servlet請求

圖片描述

Servlet客戶端HTTP請求

當瀏覽器發送請求到服務器的時候,這個請求是不能被直接讀取的,請求中包含了很是多的信息,而須要被讀取的,只是請求中的一部分。json

如圖跨域

圖片描述

咱們能夠看一下請求頭有哪些經常使用的信息,以及它們的做用是什麼瀏覽器

Accept-Charset

這個頭信息告訴服務器處理表單數據所須要使用的字符集。緩存

咱們知道,在<form>中有一個屬性叫作accept-charset,就是用來設置請求頭中Accept-Charset屬性的值的。安全

經常使用的值有ISO-8859-1UTF-8服務器

Connection

咱們知道HTTP協議採用「請求-應答」模式,當使用普通模式,即非Keep-Alive模式時,每一個請求/應答客戶和服務器都要新建一個鏈接,完成 以後當即斷開鏈接(HTTP協議爲無鏈接的協議)cookie

當使用Keep-Alive模式(又稱持久鏈接、鏈接重用)時,Keep-Alive功能使客戶端到服 務器端的鏈接持續有效,當出現對服務器的後繼請求時,Keep-Alive功能避免了創建或者從新創建鏈接。app

Cookie

Cookie你們應該都很是熟悉了,這個信息就是用來存放Cookie,並傳給服務器的。dom

If-Modified-Since&If-Unmodified-Since

這兩個頭信息的值都是Date格式,用來告訴服務器所須要的文件的日期範圍。編碼

若是服務器上沒有更新或者更舊的文件,就會返回一個304的狀態碼,表示文件並無改動,能夠直接從緩存中加載。

User-Agent

這個信息記錄了發出請求的客戶端的信息,包含了瀏覽器類型、版本等信息。經過這個信息能夠作瀏覽器類型判斷。

Servlet服務器HTTP響應

當客戶端發送了一個請求給服務器,服務器也會返回一個響應給客戶端,一樣的,這個響應中也包含了除數據以外的不少信息。

如圖

圖片描述

Control-Allow-Origin

Access-Control-Allow-Origin是HTML5中定義的一種解決資源跨域的策略。

若是設置爲咱們本身當前頁面的域名時,瀏覽器纔會容許咱們拿到這個響應的數據,並進行下一步的處理。當設置爲*的時候,表示該資源誰均可以用。

Content-Type

這個頭信息告訴瀏覽器這個響應的數據格式及編碼類型。

經常使用值爲application/json;charset=utf-8

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

圖片描述

相關文章
相關標籤/搜索