JavaWeb---web应用和HTTP协议

web应用
    创建静态应用
       在webapps下创建h1目录;
       在webapps\h1\下创建h1.html。
       打开浏览器访问http://localhost:8080/h1/h1.html
    创建动态应用
     在webapps下创建h2目录;
     在webapps\h2\下创建WEB-INF目录;
     在webapps\h2\WEB-INF\下创建web.xml;
     在webapps\h2\下创建h2.html。
     打开浏览器访问http://localhost:8080/h2/h2.html
  动态应用目录结构
      webapps
         |- 应用名
         |-index.html
         |-WEB-INF        名称必须大写.浏览器无法直接访问
               |-web.xml
               |-classes     存放class文件
               |-lib:          存放jar包


映射虚拟主机
需求:在浏览器中输出:http://www.baidu.com就可以访问我们的项目。
     1.修改端口号为80
     2.修改 C:\WINDOWS\system32\drivers\etc\hosts文件
       添加 http://www.badidu.com和127.0.01绑定关系
     3.在server.xml文件中添加一个<Host(主机)(name=访问地址)
                         一般平常破解软件,开发中没啥实际意义
=================================================================
HTTP协议
    超文本传输协议:规定浏览器与服务器之间的通讯规则。
    http是基于请求/响应模式的,分为请求协议和响应协议


请求:客户端发送数据到服务器
请求方法:
    GET请求
      1. 请求数据长度不能超过1K
      2. 请求参数会在浏览器地址栏中显示出来
      3. GET请求没有请求体(请求正文),参数是追加在url后面
    POST请求 
      1. 请求数据没有上限
      2. 请求参数不会在浏览器地址栏中显示
      3. 有请求体(请求正文)
      4. 请求参数默认使用URL编码

请求格式:
      * 请求首行
      * 请求头
      * 空行
      * 请求体(或称之为请求正文)

常见请求头:
  * Accept-Encoding:    客户端支持的数据压缩格式
  * Connection:              客户端支持的连接方式
  * Cookie:                     服务器寄存在客户端的一点数据
  * Content-Length:      请求体的长度
  * Content-Type:          请求体内容使用的url编码。
  * Host:                        请求的服务器主机名
  * User-Agent:             客户端浏览器与操作系统相关信息
  * Referer:                    当前发出请求的地址
          > 作用1:统计来源
          > 作用2:防盗链


响应:服务器发送数据给客户端
状态码:
    200 --> 成功
    302 --> 请求重定向
    304 --> 请求资源没有改变(读取缓存)
    404 --> 请求的资源不存在,客户端错误
    500 --> 服务器内部错误
状态码304解释:
 相关头信息
  * Last-Modified:     响应头,表示当前资源的最后修改时间;
  * If-Modified-Since:请求头,表示缓存的资源最后修改时间;

1. 客户端首次访问服务器的静态资源index.html,服务器会把index.html响应给客户端,并添加一个名为Last-Modified的响应头,它说明当前index.html的最后修改时间
2. 客户端收到响应后,会把index.html缓存在客户端上,同时也把Last-Modified缓存起来。
3. 客户端第二次请求index.html时,会添加名为If-Modified-Since的请求头,它的值是上次服务器响应头Last-Modified,服务器获取到客户端保存的最后修改时间,以及当前资源的最后修改时间进行比较,如果相同,说明index.html没有改动过,那么服务器不会发送index.html,而是响应状态码304,即通知客户端资源没有改变,你可以使用自己的缓存。

响应格式:
    * 响应首行
    * 响应头
    * 空行
    * 响应体(或称之为响应正文)

常见响应头:
  * Content-Length:   响应正文的长度
  * Date:                      响应时间
  * Content-Type:       响应正文的MIME类型
          例如image/jpeg表示响应正文为jpg图片,
          例如text/html;charset=utf-8表示响应正文为html,并且编码为utf-8编码
  * Set-Cookie服务器寄存在客户端的数据,当客户端再次访问服务器时会把这个还给服务器
通知客户端浏览器不要缓存页面的响应头:
  * Expires:-1
  * Cache-Control: no-cache
  * Pragma: no-cache
自动刷新响应头,浏览器会在3秒钟后自动重定向到百度主页
  * Refresh: 3;url=http://www.baidu.com


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值