当前位置:首页 > 开发 > Web前端 > 前端 > 正文

Request Header简介

发表于: 2015-05-23   作者:aigo   来源:转载   浏览:
摘要: 当一个客户端(通常是浏览器)向Web服务器发送一个请求是,它要发送一个请求的命令行,一般是GET或POST命令,当发送POST命令时,它还必须向服务器发送一个叫“Content-Length”的请求头(Request   Header)   用以指明请求数据的长度,除了Content-Length之外,它还可以向服务器发送其它一些Headers,如:    

当一个客户端(通常是浏览器)向Web服务器发送一个请求是,它要发送一个请求的命令行,一般是GET或POST命令,当发送POST命令时,它还必须向服务器发送一个叫“Content-Length”的请求头(Request   Header)   用以指明请求数据的长度,除了Content-Length之外,它还可以向服务器发送其它一些Headers,如:     

    

  Accept   浏览器可接受的MIME类型     

  Accept-Charset   浏览器支持的字符编码     

  Accept-Encoding   浏览器知道如何解码的数据编码类型(如   gzip)。Servlets   可以预先检查浏览器是否支持gzip并可以对支持gzip的浏览器返回gzipped的HTML页面,并设置Content-Encoding回应头(response   header)来指出发送的内容是已经gzipped的。在大多数情况下,这样做可以加快网页下载的速度。     

  Accept-Language   浏览器指定的语言,当Server支持多语种时起作用。     

  Authorization   认证信息,一般是对服务器发出的WWW-Authenticate头的回应。     

  Connection   是否使用持续连接。如果servlet发现这个字段的值是Keep-Alive,或者由发出请求的命令行发现浏览器支持   HTTP   1.1   (持续连接是它的默认选项),使用持续连接可以使保护很多小文件的页面的下载时间减少。     

  Content-Length   (使用POST方法提交时,传递数据的字节数)     

  Cookie   (很重要的一个Header,用来进行和Cookie有关的操作,详细的信息将在后面的教程中介绍)     

  Host   (主机和端口)     

  If-Modified-Since   (只返回比指定日期新的文档,如果没有,将会反回304   "Not   Modified")     

  Referer   (URL)     

  User-Agent   (客户端的类型,一般用来区分不同的浏览器)     

  如果你想更多的了解Request   Header的内容,你可以访问W3C的网站。   

    

  在Servlet中读取Request   Header的内容   

    

  在Servlet中读取Request   Header的值是很简单的,只要调用HttpServletRequest的getHeader方法就可以了,当你指定要返回的Header的名称,该方法就会返回String类型的Header的内容,如果指定的Header不存在,就返回null。调用getHeaderNames可以返回包含所有Header名字的Enumeration.   

    

  读取所有Request   Header值的Servlet程序   

    

  下面是Tomcat中所带的Servlet例子中关于Request   Header的例子,下载该程序。   

 

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

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);
        }
    }
}

 

Request Header简介

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
HTTP Request header 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。
HTTP Request header 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。
HTTP Request header 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。
HTTP Request header 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。
HTTP协议详解 - 小坦克 - 博客园 HTTP Request header 当今web程序的开发技术真是百家争鸣,ASP.NET
HTTP Request header 摘自:http://www.cnblogs.com/lexus/archive/2012/02/21/2360944.html 当今web
HTTP Request header 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。
HTTP Request header 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。
Volley(三)—— ImageRequest & Request简介 上 篇文章我们讲 到了如何用volley进行简单的网络请
HTTP Request header 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号