zoukankan      html  css  js  c++  java
  • 3.web开发入门知识

    /*web入门*/

    /*互联网上常用的协议以及它的端口*/

    http    80      http://localhost/    相当于    http://localhost:80/         http协议 默认是80

                http://localhost:8080/       (启动成功后 可进入Tomcat主页)

    smtp 25

    pop3 110

    ftp 23

    https 443

    WEB应用程序指供浏览器访问的程序,通常也简称为web应用,一个web应用由多个静态web资源和动态web资源组成,如:

      html、css、js文件

      Jsp文件、java程序、支持jar包

      配置文件等等......

     组成web应用的这些文件通常我们会使用一个目录组织,这个目录称之为 /*web应用所在目录*/

    WEB 应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理, /*这个过程称之为虚拟目录的映射*/     /*把web应用交给服务器管理才能 让外界访问*/

    虚拟目录的映射方式

    /*一、在Server.xml中进行配置*/

      在<Host>元素中添加子元素<Context path=" ... " docBase=" ... "/> 并重启服务器即可;

      path表示虚拟目录,docBase表示真实的web应用所在目录;

      比如在C盘中存在a这个web应用,则 <Context path="/test" docBase="C:a"/>

      则输入 http://localhost:8888/test/1.html 就能访问到a文件夹下的 1.html

        注意:这种方法需要重启服务器才能够生效,所以不适用,因为每次添加一个web应用都需要重启服务器。

    /*二、最佳配置方法*/

      $CATALINA_BASE/conf/catalina/localhost/ 文件夹下创建一个xml文件,任意文件名都可以,但是此文件名是web应用发布后的虚拟目录;

      比如创建一个test.xml ,在文件中添加 <Context docBase="C:a"/>

      不需要重启服务器,只需要在浏览器中输入 http://localhost:8888/test/1.html 即可访问C:a1.html ;


    /*三、配置默认web应用*/
      一般,输入 http://localhost:8080 后都会跳出 tomcat的主页,因为这个tomcat的web应用就是默认的web应用,如果想将自己的web应用配置成默认的web应用,

      只需要在Server.xml中的<Context>元素中为 <Context path="" docBase="C:a"/> 

      或者将test.xml改成 ROOT.xml 即可;输入 http://localhost:8080/1.html 就能访问C:a1.html ;

    /*web应用组织结构和web.xml文件的作用*/

    开发web应用时,不同的类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错

    mail-----------------------web应用所在目录
    |
    |---1.html、jsp、css、js文件等 这些文件一般在web应用根目录下,根目录下的文件外界可以直接访问
    |
    |---2.WEB-INF 目录 (java类、jar包、web应用的配置文件存在这个目录下,该目录下的文件外界无法非法直接访问,由web服务器负责调用)
    |    |
    |    |--- classes目录 --(java类)
    |    |--- lib目录 ---(java类运行所需jar包)
    |    |--- web.xml(最重要) --- (web应用的配置文件)
    |    |
    |

    注:1.web.xml必须要写 (可以仿照tomcat的web.xml,,抄头抄尾)

      2.web.xml文件是整个web应用中最重要的配置文件,它必须放在WEB-INF目录中。在开发web应用时,但凡涉及对web应用中的web资源进行配置,

         通通是在web.xml文件中进行设置,例如:某个web资源配置为网站首页 ;将servlet程序映射到某个url地址上 ;为web应用配置监听器...

      3.各文件层级 见上 (高低顺序)

    配置虚拟主机 /*自己没有成功..*/

      1.在一个tomcat服务器中可以放置多个网站,所谓配置虚拟主机,就是在tomcat服务器中配置一个网站

      2.如需在web服务器中配置一个网站,需使用Host元素(serve.xml中)进行配置

      例:<Host name="site1" appBase="c:app"></Host>

      3.配置的主机(网站)要想被外部访问,必须在DNS服务器或windows系统中注册

    /*Web资源访问流程*/

      1.在ie中输入了地址后,查询windows(hosts文件),获取主机名对应的ip

      2.先查询hosts文件,windows查不到后,查询dns 获取主机名对应的ip

      3.用查询的ip连接服务器

      4.发送http请求

      5.从请求信息中获取客户端想访问的主机名

      6.从请求信息中获得客户机器访问的web应用

      7.从请求信息中获得客户端访问的web资源

      8.读取相应主机下的web应用下的 web资源

      9.用读取到的web资源的数据,创建一个http响应

      10.服务器回送http响应

      11.浏览器收到http响应,解析出资源数据显示

    将web应用打成war包

      示例:在dos命令行中 转到相应路径下(有web应用的地方) 输入 /*jar -cvf news.war news*/ news 是一个例子

    reloadable元素

      配context元素的reloadable元素,让tomcat自动加载更新后的web应用 (小程序可以用,大程序不要用)

    tomcat服务器的管理平台

      1.在tomcat-users.xml 中 指定用户名 密码 以及权限

      2.在localhost:8080中点击 manager APP 输入账号以及密码 完成登录

      注:权限: 视频里面写的是manager 但是在我这里出现错误,后面改成 manager-gui 界面成功显示 (tomcat版本问题?)

      manager-gui

      允许访问html接口(即URL路径为/manager/html/*) *为通配符

      manager-script

      允许访问纯文本接口(即URL路径为/manager/text/*)

      manager-jmx

      允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)

      上面三种包含下面这种

      manager-status

      允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)*/

    /*HTTP协议*/ (工作在TCP/IP协议之上的)TCP/IP 协议里 有 网络接口层,互联网层,传输层,应用层(HTTP协议就包含在应用层里的 一个协议)

      HTTP1.0/HTTP1.1 允许客户端与web服务器建立连接后,在一个连接上获取一个/多个web资源 (HTTP1.1更好)

      客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通讯的格式

      使用telnet程序连上web服务器,并使用HTTP协议获取某个页面,快速了解HTTP协议的作用

      安装IE浏览器插件HttpWatch,查看IE浏览器通过HTTP协议获取某个页面


    一个web页面中,使用img标签引用了三幅图片,当客户端访问服务器中的这个web页面时,客户端总共会访问几次服务器,(向服务器发送了几次HTTP请求)

      /*4次 1次请求拿到html中的数据 三幅图片各需要一次请求*/ /*做web开发时,需要尽可能减少HTTP的请求数*/

      /*一种解决办法 将3幅图片搞到一幅图片上,控制image标签打开大图片的一部分 (两次请求)(CSS技术)*/


    /*HTTP请求*/

      客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求,一个完整的HTTP请求包括以下内容:


    一个请求行

      请求行用于描述客户端的请求方式,请求的资源名称以及使用的HTTP协议的版本号(例:GET/books/java.html HTTP/1.1) 请求方式->请求的URL地址->请求的协议

      请求行中的GET称之为请求方式,请求方式有 /*POST,GET*/等

      默认的都是GET 只有通过更改表单的提交方式才可以改为POST

      如:<form action="/1.html" method="post"> </form>


    GET和POST的区别:(体现在数据传递上)

      GET方式的特点:在请求的URL地址后以?的形式带上交给服务器的数据,在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K

      POST方式的特点:在请求的实体内容中向服务器发送数据,传送的数据量无限制


    若干请求头

      请求头用于描述客户端请求哪台主机,以及客户端的一些环境信息等

      Accept:用于告诉服务器,客户机支持的数据类型

      Accept-Charset:用于告诉服务器,客户机采用的编码

      Accept-Encoding:用于告诉服务器,客户机支持的数据压缩方式

      Accept-Language:客户机的语言环境

      Host:客户机通过这个头告诉服务器想访问的主机名

      If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间

      Referer:客户机通过这个头告诉服务器,它是从哪个资源来访问服务器的(防盗链)

      User-Agent:客户机通过这个头告诉服务器,客户机的软件环境

      Cookie: 客户机通过这个头向服务器带数据

      Range:Range头指示服务器只传输一部分web资源,这个头可以用来实现断点续传功能,Range字段通过三种格式设置要传输的字节范围:

      bytes=1000-2000 bytes=1000- bytes=1000 (分别表示传输范围 1000-2000字节 1000字节以后 最后1000字节)

    实体内容


    /*HTTP响应*/

    一个状态行 (用于描述服务器对请求的处理结果) 格式:HTTP版本号 状态码 原因叙述<CRLF>

      状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数

      200(没有问题) 302(要你去找别人) 304(要你去拿缓存) 307(要你去拿缓存) 403(有这个资源,但是没有访问权限) 404(服务器没有这个资源) 500(服务器这边有问题)

    若干响应头 (响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据)

      Location:这个头配合302状态码使用,用户告诉客户找谁

      Server:服务器通过这个头,告诉浏览器服务器的类型

      Content-Encoding:服务器通过这个头,告诉浏览器数据的压缩格式

      Content-Length:服务器通过这个头,告诉浏览器回送数据的长度

      Content-Type:服务器通过这个头,告诉浏览器回送数据的类型

      Last-Modified:服务器通过这个头,告诉浏览器当前资源缓存时间

      Refresh:服务器通过这个头,告诉浏览器隔多长时间刷新一次

      Content-Disposition:服务器通过这个头,告诉浏览器以下载方式打开数据

      Transfer-Encoding:服务器通过这个头,告诉浏览器数据的传递方式

      ETag:缓存相关的头

      Expires:服务器通过这个头,告诉浏览器把回送的资源缓存多长时间,-1或0 则是不缓存

      Cache-Control:no-cache

      Pragma:no-cache

      服务器通过这两个头,告诉浏览器不要缓存数据 (因为浏览器有很多种,所以执行不要缓存的头也有很多)

    实体内容 (代表服务器向客户端回送的数据)

  • 相关阅读:
    GMM的EM算法
    SQL Server 有关EXCEPT和INTERSECT使用
    nginx.conf 完整的集群配置
    一些建议方案猿简历
    漫游Kafka实战篇clientAPI
    iPhone发展【一】从HelloWorld开始
    SpringMVC+Spring3+Hibernate4开发环境的搭建
    tar.gz文件命名和压缩解压方法
    贪心算法(Greedy Algorithm)最小生成树 克鲁斯卡尔算法(Kruskal&#39;s algorithm)
    微软将彻底改变Windows发布方式
  • 原文地址:https://www.cnblogs.com/xuzekun/p/7356342.html
Copyright © 2011-2022 走看看