javawebday16(响应头 )
来源:互联网 发布:ncut算法代码 编辑:程序博客网 时间:2024/05/16 09:16
/* *tomcat配置外部应用 *conf/server.xml 打开server.xml文件 找到<Host>元素 在其中添加<Context>元素 *server.xml *<Host name = "localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> *<Context path = "my_hello" docBase="F:/hello"/> *</Host> *path 指定当前应用的名称 *docBase 指定应用的物理位置 *浏览器访问路径 http://localhost:8080/my_hello/index.html * *conf/catalana/localhost 该目录下创建 my_hello.xml文件 在该文件中编写<Context>元素 * 文件名 指定当前应用的名称 * docBase 指定应用的物理位置 * 浏览器访问路径 http://localhost:8080/my_hello/index.html * *映射虚拟主机 * 在浏览器中输入http://www.myitem.com 就可以访问项目 * 1、修改端口号为80 * <Connector port= "80" protocol="HTPP/1.1" connectionTimeout="20000" redirectPort="8443"/> * 2、在本机上可以解析域名为127.0.0.1 这需要修改c:\windows\system32\drivers\etc\hosts文件 添加对http://www.myitem.com 和127.0.0.1的绑定关系 * 127.0.0.1 www.myitem.com * 3、在server.xml文件中添加一个<Host> * <Host name="www.myitem.com" appBase="D:/myitems" unpackWARs="true" autoDeploy="true"></Host> * name = "www.myitem.com" 指定虚拟机名为www.myitem.com * appBase="d:/myitems" 指定当前虚拟主机的应用程序存放目录为d:/myitems * 在myitems 目录下创建名为ROOT 的应用 因为一个主机只可以有一个名为ROOT的应用 名为ROOT的应用在浏览器访问是可以不给出应用名称 * *协议 协议的甲乙双方 就是客户端(浏览器) 和服务器 * 双方通信的格式 * 请求协议 * 响应协议 *安装HttpWatch * HttpWatch 是专门为IE浏览器提供的 用来查看HTTP请求和响应内容的工具Firefox 需要安装FireBug软件 如果用chrome 就不用安装 自带查看请求和响应内容的功能 *HTTP概述 * HTTP(Hypertext transport protocol) 即超文本传输协议 这个协议详细规定了浏览器和万维网服务器之间通信的规则 HTTP就是一个通信规则 通信规则规定了客户端发送给服务器的内容格式 *也规定了服务器 *get请求 (有空行没请求体) * 请求行 * 多个请求头信息 头名称:头值 * 空行 * 请求体 *正文(体) 表单是一大堆内容 而发送给服务器的只有一行字符串 *Content-Type application/x-www-form-urlencoded 表单的数据自动用url来编码 *中文 字节+128 转换成16进制 添加%这个前缀 *Referer(从来源统计访问链 防盗链) http://localhost:8080/hello/index.jsp 青睐来自哪个页面 如果是从百度来到的 那么Refere:http://www.baidu.com 如果是在浏览器的地址栏中直接输入地址 就没有Referer这个请求头了 * *Content-Type application/x-www-form-urlencoded 表单的数据类型 说明会使用url格式编码数据 url编码的数据都是以"%"为前缀 后面跟随两位的16进制 *Content-Length:13 请求体的长度 这里表示13个字节 *keyword=11 请求体内容11是在表单中输入的数据 keyword 是表单字段的名字 *统计工作 比如在百度上做了广告 可以对每个请求中的Referer进行分析 如果Referer为百度的很多 那么说明用户是通过百度找到的 *防盗链 比如一个下载链接 而其他人盗用了 没有看我们的广告直接进入下载 可以通过Referer分析 如果请求来自本网站那么允许下载如果不是 跳转到广告 然后再下载 *HTTP/1.1 200 OK 响应协议为HTTP1.1状态码为200 表示请求成功 OK是对状态码的解释 *Server Apache-Coyot/1.1 服务器的版本信息 *Content-Type text/html;charset=UTF-8 响应体使用的编码为UTF-8 *Content-Length 724 响应体为724字节 *Set-Cookie JSESSIONID=xxxxx path=/hello 响应给客户端的Cookie *Date Wed 25 Sep 2017 04:13:05 响应的时间 可能有8小时的时区差 * *响应码 * 响应头对浏览器来说很重要 说明了响应的真正含义 例如 200表示响应成功了 302表示重定向 这说明浏览器需要再发一个新的请求 * 200 请求成功 浏览器会把响应体内容(通常是html)显示在浏览器中 * 404 请求的资源没有找到 说明客户端错误的请求了不存在的资源 * 500 请求资源找到了 但服务器内出现了错误 * 302 重定向 表示服务器要求浏览器重新再发一个请求 服务器会发送一个响应头Location 它指定了新请求的URL地址 进入一个地址后跳转到另外一个 * 304 当用户第一次请求index.html 时 服务器会添加一个名为Last-Modified 响应头 这个头说明了index.html 的最后修改时间 浏览器会把index.html内容 以及最后响应时间缓存下来 * 当用户第二次请求index.html时 在请求中包含一个名为if-Modified-Since 请求头 它的值就是第一次请求时服务器通过Last-Modified 响应头发送给浏览器的值 即index.html * 最后的修改时间 If-Modified-Since 请求头就是在告诉服务器 浏览器缓存的index.html 最后的修改时间是这个 如果index.html 最后的时间仍是这个就不用再响应这个index.html内容 * 会把缓存的内容直接显示 服务器端会获取If-Modified-Since值 与index.html的当前最后修改时间对比 如果相同 服务器会发响应码304 表示index.html与浏览器上次缓存的相同 * 无需再次发送 浏览器可以显示自己的缓存页面 如果比对不同 那么说明index.html已经做了修改 服务器会响应200 *响应头 * Last-Modified 最后修改时间 *请求头 * If-Modified-Since 把上次请求的index.html 的最后修改时间还给服务器 *状态码 304 比较If-Modified-Since 的时间和文件真实的时间一样时 服务器会响应304 而且不会影响正文 表示 浏览器缓存的就是最新版本 * 动态页面没有缓存 因为变量时刻在动 缓存没意义 *其他响应头 * 告诉浏览器不要缓存的响应头 * Expires:-1 * Cache-Control:no-cache * Pragma:no-cache *自动刷新响应头 浏览器会在3秒后请求百度 * Refresh:3;url=http://www.baidu.com * *HTML中指定响应头 * 在html页面中可以使用<meta http-equiv="" content=""> 来指定响应头 例如在index.html页面中给出<meta http-equiv="Refresh" content="5;url=http://www.baidu.com"> *表示只显示当前页面5秒然后自动跳转到http://www.baidu.com */
阅读全文
0 0
- javawebday16(响应头 )
- http请求头响应头
- 请求头和响应头
- 请求头、响应头小记
- Http请求头、响应头
- 响应头与请求头
- Http请求/响应头
- HTTP响应头信息
- Content-Disposition 响应头
- http响应头介绍
- HTTP响应头信息
- 认知http响应头
- HTTP响应头信息
- 认知http响应头
- 获取响应头信息
- HTTP响应头内容
- 响应头的练习
- HTTP常用响应头
- 100:0!Deepmind Nature论文揭示最强AlphaGo Zero,无需人类知识
- Excel栏目选择
- js原型链
- Building workspace has encountered a problem
- Gradle——构建springboot
- javawebday16(响应头 )
- JDK目录和Java三大平台
- Linux学习——环境变量设置
- sqlserver查询出某个表当前自增字段的最新值
- Impala创建/显示表信息
- SpringMVC 基础教程 简单入门实例
- redis(11)——主从复制的原理
- Banner无限轮播
- 论程序开发的战略与战术