• Http请求和响应报文基础知识


     

    一 HTTP请求报文(http://en.wikipedia.org/wiki/List_of_HTTP_header_fields)    

        请求报文由三部分组成:请求行,请求头和请求体。    

        请求行:请求方法(如POST),请求URL地址(和请求头Host属性组成完整URL),HTTP协议及版本。    

        请求头:包含若干个属性,格式为“属性名:属性值”。    

        请求体:以param1=value1&param2=value2的键值对形式编码成的格式化串,承载多个请求参数的数据。除了请求体外,请求URL也可以通过“?param1=value1&param2=value2”的方式传递数据。

     

        常见的HTTP请求头属性:    

        Accept:客户端接收的响应类型,可以为一个或多个MIME类型的值。    

        Cookie:客户端Cookie,可以将jsessionid放在Cookie中。    

        Referer:表示请求是从哪个URL过来的。

        Cache-Control:指定在整个请求响应链中必须遵守的缓存机制。

        Content-Length:请求体得字节数。

     

        服务器端通过HttpServletRequest读取请求头。其中一些典型的请求头属性,例如Cooke,Locale和ContentLength等有直接读取的API。对于HttpSession,是读取请求头Cookie属性中jsessionid的值,然后在服务器端一个会话Map中根据jsessionid获取HttpSession对象,实现会话管理。

     

    二 HTTP响应报文

        HTTP响应由三部分组成:响应行,响应头和响应体。

        响应行:Http协议及版本,响应状态吗及描述。

        响应头:同样由多个属性组成。

        响应体:返回的资源。

     

        响应状态吗:(http://en.wikipedia.org/wiki/List_of_HTTP_status_codes )

        1XX:收到请求,正在处理等。

        2XX:处理成功,处理完成等。如200 OK处理成功。

        3XX:重定向等。如303 See Other,重定向到Location中;303 Not Modified。

        4XX:发生错误,责任在客户端。如404 Not Found。

        5XX:发生错误,责任在服务端。如500 Internal Server Error。

     

        常见的HTTP响应头属性:

        Cache-Control:设置缓存策略,在缓存时间内再次访问资源应该直接从客户端缓存中返回内容,具体实现靠客户端实现。

        ETag:服务器资源的具体版本,只在统一URL下,比较ETag才有意义。

        Last-Modified:所请求实体的最后修改日期。

        Location:一个URL,让客户端重定向。

        Set-Cookie:服务器设置客户端的Cookie。

     

        服务器通过HttpServletResponse的API写响应头的属性。如Cookie,Location等提供了直接操作的API。

     

  • 相关阅读:
    又到了什么都不想做的时候了/梦
    【笔记】【汇编语言】第11章 标志寄存器
    【经验】【ORACLE】CMD命令行下使用SQLPLUS执行SQL脚本后返回CMD命令行的方法
    【笔记】【汇编语言】第6章 包含多个段的程序
    【笔记】【汇编语言】第8章 数据处理的两个基本问题
    【笔记】【汇编语言】第5章 [BX]和loop指令
    【经验】【ORACLE】从字符串中截取其中的数字
    【读书】【沉思录】卷一
    【笔记】【汇编语言】第9章 转移指令的原理
    【笔记】【汇编语言】第10章 CALL和RET指令
  • 原文地址:https://www.cnblogs.com/yuanchongjie/p/4502327.html
Copyright © 2020-2023  润新知