APP开发实战30-HTTP头字段介绍2

7.5.2请求头字段

允许客户端向服务器传递关于请求或者关于客户机的附加信息。 请求头字段可能包含下列字段Accept、Accept-Charset、Accept-Encoding、Accept-Language、 Authorization、From、Host、If-Modified-Since、If-Match、If-None-Match、If- Range、If-Range、If-Unmodified-Since、Max-Forwards、Proxy-Authorization、 Range、Referer、User-Agent。对请求头域的扩展要求通讯双方都支持,如果存在不支持的请求头字段,一般将会作为实体头字段处理。

(1)  Accept

告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。

(2)  Accept-Charset

浏览器申明自己接收的字符集。

(3)  Authorization

当客户端接收到来自WEB服务器的 WWW-Authenticate 响应时,用该头部来回应自己的身份验证信息给WEB服务器。

7.5.3响应头字段

允许服务器传递不能放在状态行的附加信息,这些字段主要描述服务器的信息和 Request-URI进一步的信息。响应头字段包含Age、Location、Proxy-Authenticate、Public、Retry- After、Server、Vary、Warning、WWW-Authenticate。对响应头字段的扩展要求通讯双方都支持,如果存在不支持的响应头字段,一般将会作为实体头字段处理。

(1)Location

  Location用于重定向接收者到一个新URI地址。

(2)Server

Server包含处理请求的原始服务器的软件信息。此域能包含多个产品标识和注释,产品标识一般按照重要性排序。

7.5.4实体头字段

请求消息和响应消息都可以包含实体信息,实体信息一般由实体头字段和实体组成。

实体头字段包含关于实体的原信息,包括Allow、Content-Base、Content-Encoding、Content-Language、Content-Length、 Content-Location、Content-MD5、Content-Range、Content-Type、Etag、Expires、 Last-Modified、extension-header。

实体可以是一个经过编码的字节流,它的编码方式由Content-Encoding或Content-Type定义,它的长度由Content- Length或Content-Range定义。

(1)  extension-header

允许客户端定义新的实体头,但是这些字段可能无法未接受方识别。

(2)Content-Type

用于向接收方指示实体的介质类型,指定HEAD方法送到接收方的实体介质类型,或GET方法发送的请求介质类型Content-Range实体头

(3)Content-Range

用于指定整个实体中的一部分的插入位置,他也指示了整个实体的长度。在服务器向客户返回一个部分响应,它必须描述响应覆盖的范围和整个实体长度。一般格式:

  Content-Range:bytes-unit SP first-byte-pos-last-byte-pos/entity-legth

  例如,传送头500个字节次字段的形式:Content- Range:bytes0-499/1234如果一个http消息包含此节(例如,对范围请求的响应或对一系列范围的重叠请求),Content- Range表示传送的范围,Content-Length表示实际传送的字节数。

(4)  Last-modified

指定服务器上保存内容的最后修订时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
├ │ ├ │ │ ├01 python s14 day1 开课介绍.avi │ │ ├02 python s14 day1 开课介绍2.avi │ │ ├03 python s14 day1 开课介绍3.avi │ │ ├04 python s14 day1 开课介绍4.avi │ │ ├05 python s14 day1 python发展介绍.avi │ │ ├06 python s14 day1 第一个python程序.avi │ │ ├07 python s14 day1 变量.avi │ │ ├08 python s14 day1 字符编码与二进制.avi │ │ ├09 python s14 day1 字符编码的区别与介绍.avi │ │ ├10 python s14 day1 用户交互程序.avi │ │ ├11 python s14 day1 if else流程判断.avi │ │ ├12 python s14 day1 while 循环.avi │ │ ├13 python s14 day1 while 循环优化版本.avi │ │ ├14 python s14 day1 for 循环及作业要求.avi │ │ └day1.zip │ ├ │ │ ├01 python s14 day2 本节鸡汤.avi │ │ ├02 python s14 day2 模块初识.avi │ │ ├03 python s14 day2 模块初识2.avi │ │ ├04 python s14 day2 pyc是什么.avi │ │ ├05 python s14 day2 python数据类型.avi │ │ ├06 python s14 day2 bytes数据类型.avi │ │ ├07 python s14 day2 列表的使用.avi │ │ ├08 python s14 day2 列表的使用2.avi │ │ ├09 python s14 day2 元组与购物车程序练习.avi │ │ ├10 python s14 day2 购物车程序练习实例.avi │ │ ├11 python s14 day2 字符串常用操作.avi │ │ ├12 python s14 day2 字典的使用.avi │ │ ├13 python s14 day2 三级菜单实例.avi │ │ ├14 python s14 day2 本周作业-购物车优化.avi │ │ └s14day2_code.zip │ ├ │ │ ├day3-code.zip │ │ ├oldboy-10.avi │ │ ├oldboy-11.avi │ │ ├oldboy-12.avi │ │ ├oldboy-13.avi │ │ ├oldboy-14.avi │ │ ├oldboy-15.avi │ │ ├oldboy-16.avi │ │ ├oldboy-17.avi │ │ ├oldboy-18.avi │ │ ├oldboy-19.avi │ │ ├oldboy-20.avi │ │ ├oldboy-21.avi │ │ ├oldboy-22.avi │ │ ├oldboy-23.avi │ │ ├oldboy-24.avi │ │ ├oldboy-25.avi │ │ ├oldboy-26.avi │ │ ├oldboy-27.avi │ │ └oldboy-9.avi │ ├ │ │ ├day4.zip │ │ ├oldboy-1.avi │ │ ├oldboy-10.avi │ │ ├oldboy-11.avi │ │ ├oldboy-12.avi │ │ ├oldboy-13.avi │ │ ├oldboy-14.avi │ │ ├oldboy-15.avi │ │ ├oldboy-16.avi │ │ ├oldboy-17.avi │ │ ├oldboy-18.avi │ │ ├oldboy-2.avi │ │ ├oldboy-3.avi │ │ ├oldboy-4.avi │ │ ├oldboy-5.avi │ │ ├oldboy-6.avi │ │ ├oldboy-7.avi │ │ ├oldboy-8.avi │ │ └oldboy-9.avi │ ├ │ │ ├day5.zip │ │ ├oldboy-1.avi │ │ ├oldboy-10.avi │ │ ├oldboy-11.avi │ │ ├oldboy-12.avi │ │ ├oldboy-13.avi │ │ ├oldboy-14.avi │ │ ├oldboy-2.avi │ │ ├oldboy-3.avi │ │ ├oldboy-4.avi │ │ ├oldboy-5.avi │ │ ├oldboy-6.avi │ │ ├oldboy-7.avi │ │ ├oldboy-8.avi │ │ └oldboy-9.avi │ ├ │ │ ├01 本节小鸡汤(电影分享).avi │ │ ├02 面向对象介绍.avi │ │ ├03 面向对象特性介绍.avi │ │ ├04 实例演示opp编程好处.avi │ │ ├05 实例变量与类变量.avi │ │ ├06 类变量的作用及析构函数.avi │ │ ├07 类的继承.avi │ │ ├08 类的继承2.avi │ │ ├09 经典类与新式类的继承顺序.avi │ │ ├10 继承实例讲解.avi │ │ ├11 多态实例讲解.avi │ │ ├12 本节作业之选课系统开发.avi │ │ └day6.zip │ ├ │ │ ├day7.zip │ │ ├oldboy-1.avi │ │ ├oldboy-10.avi │ │ ├oldboy-11.avi │ │ ├oldboy-12.avi │ │ ├oldboy-13.avi │ │ ├oldboy-2.avi │ │ ├oldboy-3.avi │ │ ├oldboy-4.avi │ │ ├oldboy-5.avi │ │ ├oldboy-6.avi │ │ ├oldboy-7.avi │ │ ├oldboy-8.avi │ │ └oldboy-9.avi │ ├ │ │ ├day8.zip │ │ ├oldboy-01.avi │ │ ├oldboy-02.avi │ │ ├oldboy-03.avi │ │ ├oldboy-04.avi │ │ ├oldboy-05.avi │ │ ├oldboy-06.avi │ │ ├oldboy-07.avi │ │ ├oldboy-08.avi │ │ ├oldboy-09.avi │ │ ├oldboy-10.avi │ │ └oldboy-11.avi │ ├ │ │ ├day9.zip │ │ ├oldboy-1.avi │ │ ├oldboy-10.avi │ │ ├oldboy-11.avi │ │ ├oldboy-12.avi │ │ ├oldboy-13.avi │ │ ├oldboy-14.avi │ │ ├oldboy-15.avi │ │ ├oldboy-2.avi │ │ ├oldboy-3.avi │ │ ├oldboy-4.avi │ │ ├oldboy-5.avi │ │ ├oldboy-6.avi │ │ ├oldboy-7.avi │ │ ├oldboy-8.avi │ │ └oldboy-9.avi │ ├ │ │ ├day10.zip │ │ ├oldboy-1.avi │ │ ├oldboy-10.avi │ │ ├oldboy-11.avi │ │ ├oldboy-12.avi │ │ ├oldboy-13.avi │ │ ├oldboy-14.avi │ │ ├oldboy-15.avi │ │ ├oldboy-16.avi │ │ ├oldboy-17.avi │ │ ├oldboy-18.avi │ │ ├oldboy-2.avi │ │ ├oldboy-3.avi │ │ ├oldboy-4.avi │ │ ├oldboy-5.avi │ │ ├oldboy-6.avi │ │ ├oldboy-7.avi │ │ ├oldboy-8.avi │ │ └oldboy-9.avi │ ├ │ │ ├01 python s14 day 11 上节作业和读书分享_rec.mp4 │ │ ├02 python s14 day 11 jQuery选择器_rec.mp4 │ │ ├03 python s14 day 11 jQuery选择器eq和nth-child的区别_rec.mp4 │ │ ├04 python s14 day 11 jQuery表单选择器_rec.mp4 │ │ ├05 python s14 day 11 jQuery操作属性、css和返回顶部实例_rec.mp4 │ │ ├06 python s14 day 11 jQuery过滤器、事件和扩展方法_rec.mp4 │ │ ├07 python s14 day 11 jQuery模态对话框和ajax_rec.mp4 │ │ ├08 python s14 day 11 eclipse环境的配置_rec.mp4 │ │ ├09 python s14 day 11 MVC框架和python的WEB框架简介_rec.mp4 │ │ ├10 python s14 day 11 Eclipse django 使用_rec.mp4 │ │ ├11 python s14 day 11 创建Django project and app_rec.mp4 │ │ └12 python s14 day 11 Django用户注册和ajax请求_rec.mp4 │ ├ │ │ ├01 python s14 day 12上节作业_rec.mp4 │ │ ├02 python s14 day 12 Django路由系统_rec.mp4 │ │ ├03 python s14 day 12 Windows下Python-MySQL模块的安装_rec.mp4 │ │ ├04 python s14 day 12 模型字段类型_rec.mp4 │ │ ├05 python s14 day 12 增删改查过滤排序_rec.mp4 │ │ ├06 python s14 day12 模版语言和跨站请求伪造1_rec.mp4 │ │ ├07 python s14 day 12 模版语言和跨站请求伪造2_rec.mp4 │ │ └08 python s14 day 12 模板extend和include_rec.mp4 │ ├ │ │ ├day13.zip │ │ ├oldboy-1.avi │ │ ├oldboy-10.avi │ │ ├oldboy-2.avi │ │ ├oldboy-3.avi │ │ ├oldboy-4.avi │ │ ├oldboy-5.avi │ │ ├oldboy-6.avi │ │ ├oldboy-7.avi │ │ ├oldboy-8.avi │ │ └oldboy-9.avi │ ├ │ │ ├01开课介绍.avi │ │ ├02前端技术概要.avi │ │ ├03今日内容概要.avi │ │ ├04Html本质以及在web程序中的作用(一).avi │ │ ├05Html本质以及在web程序中的作用(二).avi │ │ ├06Html本质以及在web程序中的作用(三).avi │ │ ├07html的head内标签.avi │ │ ├08html的body内标签之图标、换行及其他.avi │ │ ├09chrome查看html样式基本操作.avi │ │ ├10html的body内标签之input系列(一).avi │ │ ├11html的body内标签之input系列(二).avi │ │ ├12html的body内标签之多行文本及下来框.avi │ │ ├13html的body内标签之超链接.avi │ │ ├14html的body内标签之图片及表格.avi │ │ ├15html的body内标签之表格.avi │ │ ├16html的body内标签之fieldset标签和label标签.avi │ │ ├17上述内容总结.avi │ │ ├18css选择器.avi │ │ ├19css的存在形式及优先级.avi │ │ ├20css边框以及其他常用样式.avi │ │ ├21css之float样式.avi │ │ ├22css之float实现作业实例.avi │ │ ├23css之display样式.avi │ │ ├24css之内外边距.avi │ │ ├25本周作业以及思路.avi │ │ └day14课上所有.zip
本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,如数据类型转换、文件上传和下载、提高Struts 2应用的安全性、调试与性能分析、FreeMarker、Velocity、Ajax,等等。跟随作者一道深入Struts 2,聆听大量来之不易的经验之谈,你对Struts 2开发框架的理解和应用水平都将更上一层楼。本书适合Java Web 程序员阅读和参考 第1章 Model 2应用程序 1 1.1 Model 2概览 1 1.2 带servlet控制器的Model 2 2 1.2.1 Product动作类 3 1.2.2 ControllerServlet类 4 1.2.3 视图 6 1.2.4 部署描述文件 8 1.2.5 示例程序的运行 9 1.3 带过滤器调度程序的Model 2 9 1.4 小结 13 第2章初识Struts 14 2.1 Struts的优点 14 2.2 Struts的动作处理流程 15 2.3 拦截器 17 2.4 Struts配置文件 18 2.4.1 struts.xml文件 19 2.4.2 struts.properties文件 26 2.5 Struts应用程序示例 26 2.5.1 部署描述文件和Struts配置文件 27 2.5.2 动作类 28 2.5.3 运行app02a程序 29 2.6 依赖注入 29 2.6.1 概述 29 2.6.2 依赖注入的几种方式 31 2.7 小结 31 第3章动作与结果 32 3.1 动作类 32 3.2 如何访问资源 34 3.2.1 ServletActionContext对象 34 3.2.2 Aware接口 35 3.2.3 通过Aware接口访问资源 38 3.3 把静态参数传递给一个动作 41 3.4 ActionSupport类 41 3.5 结果 42 3.5.1 Chain 43 3.5.2 Dispatcher 44 3.5.3 FreeMarker 44 3.5.4 HttpHeader 44 3.5.5 Redirect 45 3.5.6 Redirect Action 46 3.5.7 Stream 47 3.5.8 Velocity 47 3.5.9 XSLT 47 3.5.10 PlainText 47 3.6 异常处理:exception-mapping元素 47 3.7 通配符映射 48 3.8 动态方法调用 51 3.9 对动作类进行测试 51 3.10 小结 51 第4章 OGNL 52 4.1 Value Stack栈 52 4.2 读取Object Stack里的对象的属性 53 4.3 读取Context Map里的对象的属性 54 4.4 如何调用字段和方法 55 4.5 如何访问数组类型的属性 56 4.6 如何访问List类型的属性 56 4.7 如何访问Map类型的属性 57 4.8 JSP EL:当OGNL帮不上忙时 58 4.9 小结 58 第5章表单标签 59 5.1 Struts标签的使用方法 59 5.2 表单标签的共同属性 60 5.3 form标签 62 5.4 textfield、password、hidden标签 63 5.5 submit标签 65 5.6 reset标签 65 5.7 label标签 66 5.8 head标签 66 5.9 textarea标签 66 5.10 checkbox标签 67 5.11 list、listKey和listValue属性 72 5.11.1 赋值一个String 72 5.11.2 赋值一个Map 73 5.11.3 赋值一个Collection或一个对象数组 73 5.12 radio标签 74 5.13 select标签 76 5.14 用optgroup标签对选项进行分组 79 5.15 checkboxlist标签 82 5.16 combobox标签 83 5.17 updownselect标签 85 5.18 optiontransferselect标签 87 5.19 doubleselect标签 90 5.20 主题 92 5.21 小结 94 第6章通用标签 95 6.1 property标签 95 6.2 a标签 97 6.3 action标签 97 6.4 param标签 98 6.5 bean标签 98 6.6 date标签 100 6.7 include标签 100 6.8 set标签 101 6.9 push标签 103 6.10 url标签 104 6.11 if、else和elseif标签 105 6.12 iterator标签 107 6.13 append标签 110 6.14 merge标签 111 6.15 generator标签 113 6.16 sort标签 116 6.17 subset标签 118 6.18 小结 119 第7章类型转换 120 7.1 类型转换概述 120 7.2 类型转换错误消息的定制 121 7.3 类型转换器的定制 125 7.3.1 对自定义的类型转换器进行配置 126 7.3.2 自定义的类型转换器示例 127 7.4 扩展StrutsTypeConverter类 130 7.5 与复杂对象配合使用 134 7.6 与Collection配合使用 137 7.7 与Map配合使用 142 7.8 小结 145 第8章输入验证 146 8.1 验证程序概述 146 8.2 验证程序的配置 147 8.3 Struts内建验证程序 148 8.3.1 required验证程序 149 8.3.2 requiredstring验证程序 150 8.3.3 stringlength验证程序 152 8.3.4 int验证程序 154 8.3.5 date验证程序 156 8.3.6 email验证程序 157 8.3.7 url验证程序 159 8.3.8 regex验证程序 160 8.3.9 expression和fieldexpression验证程序 161 8.3.10 conversion验证程序 164 8.3.11 visitor验证程序 166 8.4 编写自定义的验证程序 173 8.4.1 注册 176 8.4.2 示例 177 8.5 利用Validateable接口实现编程验证 180 8.6 小结 182 第9章消息处理与国际化 183 9.1 地区和Java资源绑定 183 9.2 Struts中的国际化支持 185 9.3 text标签 188 9.4 i18n标签 191 9.5 以手动方式选择一个资源包 193 9.6 小结 195 第10章 Model Driven和Preparable拦截器 196 10.1 把动作与模型隔离开 196 10.2 Model Driven拦截器 197 10.3 Preparable拦截器 201 10.4 小结 206 第11章持久层 207 11.1 DAO模式 207 11.1.1 DAO模式的最简单实现 208 11.1.2 使用DAO接口的DAO模式 208 11.1.3 使用Abstract Factory模式的DAO模式 209 11.2 实现DAO模式 209 11.2.1 DAO接口和DAOBase类 210 11.2.2 EmployeeDAO类 213 11.2.3 EmployeeDAOMySQLImpl类 214 11.2.4 DAOFactory类 218 11.2.5 EmployeeManager类 219 11.2.6 运行app11a应用程序 220 11.3 Hibernate 221 11.4 小结 221 第12章文件的上传 222 12.1 文件上传概述 222 12.2 在Struts里上传文件 223 12.3 File Upload拦截器 224 12.4 上传单个文件示例 225 12.5 上传多个文件示例 227 12.6 小结 230 第13章文件的下载 231 13.1 文件下载概述 231 13.2 Stream结果类型 232 13.3 文件下载功能的编程实现 235 13.4 小结 238 第14章提高Struts应用程序的安全性 239 14.1 用户和角色 239 14.2 编写安全策略 240 14.2.1 保护资源 240 14.2.2 指定登录方法 241 14.3 身份验证方法 242 14.3.1 使用基本身份验证方法 243 14.3.2 使用基于表单的身份验证方法 245 14.4 隐藏资源 247 14.5 Struts安全配置 248 14.6 以编程方式提高安全性 250 14.6.1 getAuthType方法 250 14.6.2 isUserInRole方法 250 14.6.3 getUserPrincipal方法 251 14.6.4 getRemoteUser方法 251 14.7 小结 251 第15章防止重复提交 252 15.1 标记管理 252 15.2 使用Token拦截器 253 15.3 使用Token Session拦截器 256 15.4 小结 257 第16章调试与性能分析 258 16.1 debug标签 258 16.2 Debugging拦截器 259 16.3 性能分析 261 16.4 小结 262 第17章进度条 263 17.1 Execute and Wait拦截器 263 17.2 使用Execute and Wait拦截器 264 17.3 使用一个自定义的“等待”页面 265 17.4 小结 266 第18章定制拦截器 267 18.1 Interceptor接口 267 18.2 编写一个自定义的拦截器 268 18.3 使用DataSourceInjectorInterceptor拦截器 269 18.4 小结 273 第19章定制结果类型 274 19.1 概述 274 19.2 编写一个自定义的结果类型 274 19.3 使用新的结果类型 277 19.4 小结 279 第20章 Velocity 280 20.1 概述 280 20.2 Velocity隐式对象 281 20.3 标签 281 20.4 Velocity示例 282 20.5 小结 284 第21章 FreeMarker 285 21.1 概述 285 21.2 FreeMarker标签 286 21.3 示例 287 21.4 小结 289 第22章 XSLT结果类型 290 22.1 概述 290 22.2 XSLT结果类型 292 22.3 示例 294 22.4 小结 295 第23章插件 296 23.1 概述 296 23.2 从哪里获得插件 296 23.3 编写一个自定义的插件 296 23.4 使用Captcha插件 297 23.5 小结 300 第24章 Tiles插件 301 24.1 JSP include指令/标签的不足 302 24.2 Tiles布局和定义 303 24.2.1 布局页面 303 24.2.2 Tiles定义 304 24.3 Struts Tiles插件 305 24.4 Struts Tiles示例 306 24.5 小结 309 第25章 JFreeChart插件 310 25.1 JFreeChart API 310 25.1.1 JFreeChart类 310 25.1.2 Plot抽象类 310 25.2 使用标准的插件 311 25.3 使用BrainySoftware JFreeChart插件 313 25.4 小结 315 第26章零配置 316 26.1 准备工作 316 26.2 注解 317 26.2.1 @Result注解 317 26.2.2 @Results注解 318 26.2.3 @Namespace注解 318 26.2.4 @ParentPackage注解 319 26.3 CodeBehind插件 319 26.4 小结 321 第27章 Ajax 322 27.1 Ajax概述 322 27.2 Dojo的事件系统 323 27.3 使用Struts Dojo插件 324 27.4 head标签 324 27.5 div标签 325 27.5.1 示例程序1 326 27.5.2 示例程序2 326 27.5.3 示例程序3 327 27.6 a标签 328 27.7 submit标签 330 27.8 bind标签 331 27.9 datetimepicker标签 333 27.10 tabbedpanel标签 334 27.11 textarea标签 336 27.12 autocompleter标签 337 27.12.1 示例程序1 339 27.12.2 示例程序2 339 27.12.3 示例程序3 340 27.13 tree和treenode标签 341 27.13.1 示例程序1 342 27.13.2 示例程序2 343 27.14 小结 345 附录A Struts配置 346 附录B JSP EL语言 361 附录C Java注解 370

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值