當瀏覽器發送請求到服務器的時候,這個請求是不能被直接讀取的,請求中包含了很是多的信息,而須要被讀取的,只是請求中的一部分。json
如圖跨域
咱們能夠看一下請求頭有哪些經常使用的信息,以及它們的做用是什麼瀏覽器
這個頭信息告訴服務器處理表單數據所須要使用的字符集。緩存
咱們知道,在<form>
中有一個屬性叫作accept-charset
,就是用來設置請求頭中Accept-Charset
屬性的值的。安全
經常使用的值有ISO-8859-1
、UTF-8
。服務器
咱們知道HTTP協議採用「請求-應答」
模式,當使用普通模式,即非Keep-Alive
模式時,每一個請求/應答客戶和服務器都要新建一個鏈接,完成 以後當即斷開鏈接(HTTP協議爲無鏈接的協議)cookie
當使用Keep-Alive
模式(又稱持久鏈接、鏈接重用)時,Keep-Alive
功能使客戶端到服 務器端的鏈接持續有效,當出現對服務器的後繼請求時,Keep-Alive
功能避免了創建或者從新創建鏈接。app
對Cookie
你們應該都很是熟悉了,這個信息就是用來存放Cookie
,並傳給服務器的。dom
這兩個頭信息的值都是Date
格式,用來告訴服務器所須要的文件的日期範圍。編碼
若是服務器上沒有更新或者更舊的文件,就會返回一個304
的狀態碼,表示文件並無改動,能夠直接從緩存中加載。
這個信息記錄了發出請求的客戶端的信息,包含了瀏覽器類型、版本等信息。經過這個信息能夠作瀏覽器類型判斷。
當客戶端發送了一個請求給服務器,服務器也會返回一個響應給客戶端,一樣的,這個響應中也包含了除數據以外的不少信息。
如圖
Access-Control-Allow-Origin
是HTML5中定義的一種解決資源跨域的策略。
若是設置爲咱們本身當前頁面的域名時,瀏覽器纔會容許咱們拿到這個響應的數據,並進行下一步的處理。當設置爲*
的時候,表示該資源誰均可以用。
這個頭信息告訴瀏覽器這個響應的數據格式及編碼類型。
經常使用值爲application/json;charset=utf-8
經過服務器的響應頭,咱們還能知道服務器的類型。
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應用正是由於這些大巴組成的交通網才能暢通無阻。
下一章——大巴司機HttpServletResponse
和HttpServletRequest
。