zoukankan      html  css  js  c++  java
  • tomcat服务器和HTTP协议

    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中服务器不能主动向浏览器发数据
    压缩包:
      封装文件的数据,不压缩的时候存储具体的数据

  • 相关阅读:
    浅谈MVVM模式和MVP模式——Vue.js向
    浅谈JavaScript中的null和undefined
    js的单线程和异步
    字符串替换replace方法
    数组的长度、数组元素的添加和删除
    去掉数组中的空元素
    创建数组方法、数组元素的读和写
    Android中H5和Native交互的两种方式
    请求抓取工具
    css层叠规则(层叠样式表)
  • 原文地址:https://www.cnblogs.com/chonglchong/p/6828463.html
Copyright © 2011-2022 走看看