av网站免费线看精品_国产做a爱视频免费不_深爱激情网开心五月天_伊人五月天在线视频网

 
在Servlet中使用請(qǐng)求頭(Request Header)
發(fā)布時(shí)間:2005-03-17   瀏覽次數(shù):1234260
來(lái)源:LoveJSP.siteRequest Header簡(jiǎn)介當(dāng)一個(gè)客戶端(通常是瀏覽器)向Web服務(wù)器發(fā)送一個(gè)請(qǐng)求是,它要發(fā)送一個(gè)請(qǐng)求的命令行,一般是GET或POST命令,當(dāng)發(fā)送POST命令時(shí),它還必須向服務(wù)器發(fā)送一個(gè)叫“Content-Length”的請(qǐng)求頭(Request Header) 用以指明請(qǐng)求數(shù)據(jù)的長(zhǎng)度,除了Content-Length之外,它還可以向服務(wù)器發(fā)送其它一些Headers,如: Accept 瀏覽器可接受的MIME類型 Accept-Charset 瀏覽器支持的字符編碼 Accept-Encoding 瀏覽器知道如何解碼的數(shù)據(jù)編碼類型(如 gzip)。Servlets 可以預(yù)先檢查瀏覽器是否支持gzip并可以對(duì)支持gzip的瀏覽器返回gzipped的HTML頁(yè)面,并設(shè)置Content-Encoding回應(yīng)頭(response header)來(lái)指出發(fā)送的內(nèi)容是已經(jīng)gzipped的。在大多數(shù)情況下,這樣做可以加快網(wǎng)頁(yè)下載的速度。 Accept-Language 瀏覽器指定的語(yǔ)言,當(dāng)Server支持多語(yǔ)種時(shí)起作用。 Authorization 認(rèn)證信息,一般是對(duì)服務(wù)器發(fā)出的WWW-Authenticate頭的回應(yīng)。 Connection 是否使用持續(xù)連接。如果servlet發(fā)現(xiàn)這個(gè)字段的值是Keep-Alive,或者由發(fā)出請(qǐng)求的命令行發(fā)現(xiàn)瀏覽器支持 HTTP 1.1 (持續(xù)連接是它的默認(rèn)選項(xiàng)),使用持續(xù)連接可以使保護(hù)很多小文件的頁(yè)面的下載時(shí)間減少。 Content-Length (使用POST方法提交時(shí),傳遞數(shù)據(jù)的字節(jié)數(shù)) Cookie (很重要的一個(gè)Header,用來(lái)進(jìn)行和Cookie有關(guān)的操作,詳細(xì)的信息將在后面的教程中介紹) Host (主機(jī)和端口) If-Modified-Since (只返回比指定日期新的文檔,如果沒(méi)有,將會(huì)反回304 "Not Modified") Referer (URL) User-Agent (客戶端的類型,一般用來(lái)區(qū)分不同的瀏覽器) 如果你想更多的了解Request Header的內(nèi)容,你可以訪問(wèn)W3C的網(wǎng)站。 在Servlet中讀取Request Header的內(nèi)容 在Servlet中讀取Request Header的值是很簡(jiǎn)單的,只要調(diào)用HttpServletRequest的getHeader方法可以了,當(dāng)你指定要返回的Header的名稱,該方法會(huì)返回String類型的Header的內(nèi)容,如果指定的Header不存在,返回null。調(diào)用getHeaderNames可以返回包含所有Header名字的Enumeration. 讀取所有Request Header值的Servlet程序 下面是Tomcat中所帶的Servlet例子中關(guān)于Request Header的例子,下載該程序。 import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*; public class RequestHeaderExample extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException{response.setContentType("text/html");PrintWriter out = response.getWriter();Enumeration e = request.getHeaderNames();while (e.hasMoreElements()) {String name = (String)e.nextElement();String value = request.getHeader(name);out.println(name + " = " + value);}}} 來(lái)源:http://edu.chinaz.com
立即預(yù)約