码迷,mamicode.com
首页 > Web开发 > 详细

tomcat服务器和HTTP协议

时间:2017-05-09 00:40:24      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:项目部署   本地   uil   服务器端   发送请求   代码   部署   modified   不同   

tomcat:一个服务器的服务器软件,发布资源要用的
  服务器组成:
    1.服务器硬件
    2.服务器软件
    3.项目(一堆资源的集合)
    4.资源
tomcat本身是一个java程序,必须依赖jre运行
eclipse是一个java开发软件,tomcat是一个服务器软件,不用每一次都去将项目部署到服务器,将其集成到eclipse
将tomcat集成到eclipse,window/Proferences/Server/Runtime Environments
  部署项目:
    在Servers下将项目add进Tomcat中

eclipse存储java文件:src bin
存储javaEE文件:src build
tomcat存储要发布的文件:webapps/项目名/资源
在eclipse中:WebContent

服务器具体概念介绍:
  1.服务器硬件(PC机,专门的服务器设备,手机)
  2.服务器软件(HBuilder,tomcat,数据库内置服务器等。可以将数据在网络上共享)
  3.服务器软件中运行一些相关程序,可以产生一些资源
  4.资源分成两种:
    A:静态资源 ---- HTML页面 ---- 只要原码不修改,任何时候访问到的结果都是一样的
    B:动态资源 ---- 通过程序生成HTML页面 ---- 原码不修改的情况下,不同的访问,访问的结果也不一样
       在java中生成页面的程序是Servlet(服务器端的Java小程序)

客户端怎么访问服务器资源:
  ip ---- 定位服务器硬件
  端口号 ---- 定位服务器软件
  项目名 ---- 定位服务器软件中的程序
  路径 ---- 定位服务器软件中的资源
服务器:
  A:存在于网络上的一台硬件
  B:通过端口号定位一个程序
  C:程序会将资源暴露出去,供客户端访问

一.tomcat
  1.Eclipse怎么将项目发布到tomcat的?
    A:在tomcat的webapps下面建一个与当前项目同名的文件夹
       将项目中的webcontent下面的内容复制到当前文件夹下
    B:如果在webcontent外面编写代码,这些资源是不能被发布的,只有webcontent的子级静态资源才能被浏览器直接访问
    C:但是src下面的java程序不同,是可以访问的
     因为项目发布时,class文件会被单独整合进webcontent/WEB-INF/classes文件夹
       eclipse 的工作空间 ------- 内容与eclipse中的项目结构对应,build 文件夹存储的是 class 文件
       Tomcat 的 webapps目录---- 先将build文件夹复制进 webcontent/WEB-INF 下面,然后再部署到 tomcat 当前项目下

二.HTTP协议(在请求和响应之后才产生的页面)
  1.HTTP协议
    协议:规则 规矩 约定,涉及多方的
    HTTP协议是浏览器和服务器之间进行数据传输时,遵循的规则
  2.HTTP协议只是一种理论,必须要结合具体的代码实现来理解
  3.HTTP协议(超文本传输协议)
    版本:1.0 ---- 每获取一个资源,都要创建并销毁一个连接
       1.1 ---- 获取多个资源时,共用一个连接,效率更高
  4.请求协议 ---- 浏览器向服务器发送数据时,要遵守的规则
   响应协议 ---- 服务器向浏览器发送数据时,要遵守的规则
   结构组成:
      行
      头
      体
  请求协议:
    请求头:
      refer:
        产生场景:A页面跳转到B页面时,请求B页面时,会有refer,告诉B我是从哪跳过来
               此步骤中A页面已经请求响应完毕,然后提交数据到服务器请求跳转到B页面,B页面发送请求
               如果B页面直接请求服务器,则不会有refer
        具体应用:
            A:防盗链
            B:网站统计
      if-modified-since(了解)
            A、第一次访问页面,服务器要发送html内容(浏览器本地进行缓存)以及该文件的最后修改时间,浏览器保存该时间
            B、第二次以及以后访问,携带 if-modified-since 以及对应的A中的最后修改时间到服务器
            C、服务器取出浏览器发送过来的时间值,和当前资源的最后修改时间进行判断
               如果一样,浏览器取本地缓存,如果不一样,发送新内容到浏览器
            D、结合响应的 last-modified 使用(凭直觉是如果不相等时要响应两次)
  响应协议:
    响应头:
      location ---- 结合302使用
      centent-disposition ---- 和文件下载相关
      set-cookie ---- 和Cookie Session相关
      refresh ----- 时间值
        服务器发送该属性到浏览器,浏览器解析该属性,取出值,根据该值隔固定时间后自动刷新一次
        应用场景:
          一些时时变动的数据访问,比如:天气预报,股票行情
    响应体:存储具体的响应数据
BS 和 CS 比较:
  CS中服务器可以主动向客户端发送数据
  BS中服务器不能主动向浏览器发数据
压缩包:
  封装文件的数据,不压缩的时候存储具体的数据

tomcat服务器和HTTP协议

标签:项目部署   本地   uil   服务器端   发送请求   代码   部署   modified   不同   

原文地址:http://www.cnblogs.com/chonglchong/p/6828463.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!