zoukankan      html  css  js  c++  java
  • response和request

    Request和Response的格式

    转载 2017年08月08日 14:23:34

    (Request和Response的格式)

    一个HTTP Request(HTTP请求)的格式通常如下:
    GET/path/Servlet1  HTTP/1.1
    Host:localhost
    user-agent:Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1;SV1; .NET CLR 1.1.4322);
    Connection:keep-Alive
    其他头部信息... 
    (空行)
    Request的Body

    第一行是请求的类型(方法)、请求的资源(不含域名的路径)和HTTP版本。Host是请求的主机地址,是第一条头部信息,它和第一行请求的资源一起,组成完整的请求路径,即请求的完整网址。头部信息结束后跟着一个空行,空行后面是请求的Body部分。
    如果是GET请求,Body为空,发送的数据在GET部分,作为Query String,成为请求的资源的一部分,例如:Get/path/Servlet1/ ? name=John%20Smith&age=30 HTTP/1.1
    这时如果是POST请求,数据在Body部分,例如Body部分的内容是:name=John%20Smith&age=30
    对于POST请求来说,它多了Content-Type和Content-Length两个头部信息。
    Content-Type指Body中数据的编码类型,Content-Length是Body的长度。
    /******************************************************************/
    一个HTTP Response(HTTP响应)的格式通常如下:
    HTTP/1.1 200 OK
    Date: Sat,31 Dec 2005 23:59:59 GMT
    Content-Type: text/html;charset=ISO-8859-1
    Content-Length: 122
    其他头部信息... 
    (空行)
    Response的Body

    第一行是状态行,分别是HTTP版本、表示状态的数字和信息(200和OK).下面就是一些头部信息,例如Date是产生Response的时间、Content-Type和Content-Length表示Body内容的编码类型和长度,含义和Request的相同。头部信息结束后是一个空行,空行后面跟着Body,存放向用户返回的数据,在前面的例子中,这些数据可能是文本类型、HTML类型或者XML类型的数据。
    /********HTTP Request和HTTP Response的头部信息**********************/
    GET的头部信息基本上就包含在了POST的头部信息中,所以下面仅针对Post的头部信息讲解。
    头部信息也是Name/Value对,下面是POST的所以头部信息,等号是编程时添加的,不是头部信息格式的一部分:
    1. accept=*/* : accept设置浏览器能处理的MIME类型,常见的类型有text/html(HTML文档)和text/xml(XML文档)等。
    2. accept-language = en-ca:设置语言。
    3. who = Me:用户自定义。
    4.referer = http://localhost:8080/HelloServlet/postRequestInfo.html:调用Servlet的网址,即单击一个网页来到第二个网页,那么第一个网页的就叫做第二个网页的referer.
    5.cache-control=no-cache:是否使用缓冲,默认是使用缓冲。
    6.content-type=application/x-www-form-urlencoded:内容类型。
    7.if-modified-since=Thu,06 Apr 2006 01:00:00 GMT:在该日期后,如果网页变了,就刷新它,这也是防止网页缓冲的方法。
    8.accept-encoding=gzip,deflate:用户能处理的压缩Encoding(编码)的类型,这样服务器端就可以用任何一种类型编码,并在ResponseHeader(响应头部)的Content-Encoding中反映出来。
    9.user-agent=Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1;SV1;.NET CLR 1.1.4322):发送Request请求的浏览器。这个结果由IE浏览器产生,但仍然显示为NetScape的Mozilla,只有看括号里面的MSIE,才是真正的浏览器类型。
    10.host=localhost:8080:很简单,就是主机地址。
    11.content-length=1:请求Request的内容长度。
    12.connection=Keep-Alive:浏览器是否可处理持续的HTTP连接。所谓持续连接指浏览器能访问多个文件,例如一个HTML文件和该文件上的图像文件。Keep-Alive的含义就是持续连接。

  • 相关阅读:
    第三次作业
    第二次作业
    第一次作业
    实验二
    第一次试验
    第五次作业
    第四次作业
    第三次作业
    第二次作业
    第一次作业
  • 原文地址:https://www.cnblogs.com/erma0-007/p/8669231.html
Copyright © 2011-2022 走看看