• 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

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

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

  • 相关阅读:
    The formatter threw an exception while trying to deserialize the message in WCF
    通过Web Deploy方式部署WCF
    The Managed Metadata Service or Connection is currently not available
    How to create Managed Metadata Column
    冒泡算法
    asp.net core 实战项目(一)——ef core的使用
    Vue学习笔记入门篇——安装及常用指令介绍
    Vue学习笔记入门篇——数据及DOM
    Vue学习笔记目录
    Chart.js在Laravel项目中的应用
  • 原文地址:https://www.cnblogs.com/xuzekun/p/7356342.html
Copyright © 2020-2023  润新知