• Web


    web 网站、网页
    Java web 服务器端编程

    云计算
    云 数据(互联网上)
    云计算 互联网上数据计算

    云计算 --- > 物流

    静态。动态web资源 区别
    访问同一个资源,如果说每次访问结果都是一样的,静态;会随着访问,资源内容变化的,动态

    动态web 设计语言
    ASP(微软)、PHP(开发组织)、JSP(sun)
    今天动态web系统
    PHP、.net(ASP.net VB.net c#)、JSP、ruby、python

    静态网页技术
    HTML CSS JavaScript

    C/S Clinet/Server 用户安装客户端程序 (QQ、迅雷)
    B/S Browser/Server 浏览器 B/S是一种特殊C/S 轻便性

    web系统怎么通信
    C/S 通信 网络连接----> 自由通信 客户端(主动)给服务器发信息、服务器(主动)给客户端发信息
    B/S 通信 网络连接----> 请求-响应 通信 必须客户端首先给服务器发送请求,服务器才能给客户端响应(回发信息)

    访问网页全程剖析
    1、启动浏览器
    2、输入URL地址 www.itcast.cn 回车
    3、将浏览器请求数据---> HTTP协议请求(字节流)
    4、查找Hosts --- 你现在是不是要访问www.itcast.cn --- 查看一下本地有没有www.itcast.cn对应ip
    在互联网上 任何一台电脑(服务器) 都是以IP地址来唯一表示机器位置的
    5、如果windows不知道itcast.cn对应ip --- > 请求会发送给互联网上指定的一台DNS服务器(域名解析服务器)
    域名:itcast.cn --- 为什么需要域名:因为IP不好记 210.114.23.192
    6、将HTTP协议请求(字节流)发送给指定IP服务器
    7、服务器在本地查找请求需要的资源
    8、将查找结果以HTTP协议响应(字节流)回发给客户端 windows系统
    9、浏览器解析显示数据

    http://www.itcast.cn:80/aaa/bbb/index.html
    http 协议
    www.itcast.cn --- 域名 --- >IP --->服务器
    :80 端口 ----- > 对应服务器上面一个应用程序
    * 任何和网络有交互的应用程序都得需要最少一个端口
    aaa/bbb 路径
    index.html 服务器资源

    服务器:
    访问传智播客网站---- > 需要一台服务器 ----> 硬件 服务器是什么----> 是运算速度、性能很好电脑PC
    假如我已经有了一台硬件服务器,想制作一个网站 -----> 安装一个服务器程序 ----> 软件

    支持J2EE规范:支持J2EE规范中定义的所有的技术 Servlet、JSP、EJB
    weblogic:收费的,价格不菲
    websphere :功能最强大的,复杂 贵!
    apache tomcat:不要钱,功能受限 ,支持Servlet、JSP

    **收费的东西,试用

    tar.gz linux特有压缩文件格式
    .sh --- shell linux 脚本

    http://localhost:8080/ ----> localhost 本地的主机 ----> 127.0.0.1 本机IP ---->192.168.1.157
    8080 端口 tomcat默认端口

    www.itcast.cn:8080 不好的 修改端口为默认端口 80
    Tomcat/conf/server.xml
    conf ---> configuration

    <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />

    服务会占用端口,有些服务是任务管理器无法关闭的(病毒:应用程序能被任务管理器关掉---服务(隐藏)--- 服务绑定到windows另一个服务商)
    services.msc 调用出windows服务管理界面

    CATALINA_HOME配置
    指定tomcat安装配置---> 当你电脑上有多个tomcat时候,指定哪个是你默认使用的

    写好网站,虚拟目录映射
    1、将整个目录放入tomcat/webapps
    2. 配置conf/server.xml 在Host元素加入
    <Context path="/person" docBase="C:personwebsite" />
    path 必须以 /开始
    docBase 指定网站在本地存放位置
    $CATALINA_HOME ---> Tomcat 安装目录
    $CATALINA_HOME/conf/context.xml  里面的配置信息将会被所有web应用使用
    3、配置虚拟路径
    $CATALINA_HOME/conf/[enginename]/[hostname]/ 翻译
    tomcat安装目录/conf/Catalina/localhost
    新建xml xml文件名(除了.xml)就是path
    person3.xml
    <Context docBase="c:personwebsite" />
    path --- > person3

    war 格式 ---- zip 格式

    WEB-INF 对浏览器不可见
    将一些不想让用户直接看到的资源放入WEB-INF
    用程序动态将资源读取读取出来,发给客户端,在执行程序的时候做权限认证

    web.xml配置
    1、编码问题
    2、DTD、Schema
    Tomcat 5.0 -7.0 Servlet 2.3-3.0
    web.xml Schema 需要指定JavaEE版本


    欢迎页面
    www.itcast.cn 展示一个默认的网页 ---- 主页
        <welcome-file-list>
            <welcome-file>like.html</welcome-file>
            <welcome-file>index.html</welcome-file>
        </welcome-file-list>

    www.itcast.cn/index.html
    www.itcast.cn/index.jsp
    www.itcast.cn/index.php
    www.itcast.cn/index.asp

    配置虚拟主机 配置DNS
    1、告诉tomcat 你里面有个baidu
          <Host name="www.baidu.com"  appBase="c:aidu">
          </Host>

    2、配置Hosts
    3、设置缺省目录
    www.baidu.com
    缺省目录:ROOT

    MyEclipse web工程 <----- > tomcat 需要标准的web工程目录

    tomcat
    ---- WEB-INF
     ----- classes
            ----- lib
            ----- web.xml
    ---- *.html  *.jsp


    eclipse
    ------src
    ------WebRoot
           ----- WEB-INF
                    ----- classes
                    ----- lib
                    ----- web.xml
           ----- *.html *.jsp

    当Eclipse工程发布时,WebRoot目录会作为网站的根目录发布,并更名为工程名
    配置MyEclipse tomcat

    TCP 数据无丢失协议

    常用的每层协议有哪些
    应用层:http 80 ftp 21 pop3 110 smtp 25 telnet 23
    传输层:TCP UDP
    网络层:IP
    TCP/IP
    TCP : 数据传输安全,无丢失
    UDP : 广播 可能丢失数据 性能高
    三次握手
    1、你能听见我说什么吗?
    2、我能听见,你能听见我说什么吗
    3、我能听见
    TCP 数据不能正常接收 超时

    HTML 超文本标记语言

    连接和请求
    一次连接可以有多次请求

    <h1>Hello</h1>
    <img src="a.jpg" />
    <img src="a.jpg" />
    <img src="a.jpg" />
    两次请求

    <h1>Hello</h1>
    <img src="a.jpg" />
    <img src="b.jpg" />
    <img src="c.jpg" />
    四次


    HTTP协议

    请求:请求行、头信息、实体内容
    GET /firstweb/ HTTP/1.1
    Accept: */*
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    If-Modified-Since: Wed, 26 Oct 2011 07:56:00 GMT
    If-None-Match: W/"335-1319615760265"
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
    Host: localhost:8080
    Connection: Keep-Alive
    Cookie: JSESSIONID=C2117E298DC6A01FFB4328CC9738A109

    请求行:GET /firstweb/ HTTP/1.1
    包括三部分:请求方式、请求的资源名称 HTTP协议版本号
    请求方式:Get Post

    HTML发起一个Get: <a href=""> 、<form method="get" >、在浏览器手动输入url、JS:location.href
    数据在URL上 ?拼接 多个&分隔
    数据长度受限
    数据显示在URL上 不安全


    HTML发起一个Post:表单以post方式提交 <form method="post"> 、JS:form.method="post"; form.submit();
    可以发送大规模数据、安全


    头信息:
    Accept: */*     ---------- 客户端能接受文件类型
    Accept-Language: zh-cn ---- 客户端语言 zh-cn
    Accept-Encoding: gzip, deflate ---- 客户端接收的压缩方式
    If-Modified-Since: Wed, 26 Oct 2011 07:56:00 GMT ----- 上次修改时间
    If-None-Match: W/"335-1319615760265"
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
    Host: localhost:8080  ----- 请求访问主机端口
    Connection: Keep-Alive
    Cookie: JSESSIONID=C2117E298DC6A01FFB4328CC9738A109 ---- 身份认证

    Accept-Charset:客户端所能识别的编码类型
    If-Modified-Since
    设置成为过去:服务器知道你的资源已经旧了,发送最新的
    设置成为将来:服务器会建议客户端从本地加载

    Referer: http://www.it315.org/index.jsp  ---- 请求的来源 (放盗链)
    盗链:下载音乐


    在你设定客户端能接受的文件类型时,需要提供文件ContentType -- mime type
    任何一种文件格式都会对应一种ContentType
    text/html ---- html文件的ContentType
    text/css ----- css文件的ContentType


    响应:状态行,消息头,实体内容
    HTTP/1.1 200 OK ------ 状态行
    头信息
    Server: Apache-Coyote/1.1
    Content-Type: text/html;charset=ISO-8859-1
    Content-Length: 625
    Date: Wed, 26 Oct 2011 08:24:57 GMT

    实体内容
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="http://localhost:8080/firstweb/">
       
        <title>My JSP 'index.jsp' starting page</title>
     <meta http-equiv="pragma" content="no-cache">
     <meta http-equiv="cache-control" content="no-cache">
     <meta http-equiv="expires" content="0">   
     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
     <meta http-equiv="description" content="This is my page">
     <!--
     <link rel="stylesheet" type="text/css" href="styles.css">
     -->
      </head>
     
      <body>
        This is my JSP page. <br>
      </body>
    </html>


    状态行
    HTTP/1.1 200 OK
    包括三部分:Http协议版本 状态码 状态的描述信息
    100-199 未处理结束 要求你再来一个请求
    200-299 正常 200
    300-399 要求客户端细化请求
    302 重定向
    307和304 缓存
    400~499 资源寻找有问题  404-----你访问的资源不存在
    404原因:一个人编写了一个正常的网页,以正常的方式发布,但是404
    1、路径写错了
    2、发布不成功 ---- tomcat manager

    500~599 :服务器端出现错误,常用 500 程序内部有错误

    头信息
    Content-Encoding: gzip  ----- 告诉客户端,我采用gzip压缩
    Content-Length: 80  ----- 告诉客户端我压缩后的内容长度
    Content-Language: zh-cn ----- 响应语言格式
    Content-Type: text/html; charset=GB2312  ----- 告诉客户端给你发送了一个什么类型的文件

    自动跳转
    Refresh: 1;url=http://www.it315.org ---- 1秒后跳转到http://www.it315.org

    附件下载
    Content-Disposition: attachment; filename=aaa.zip
    **同样访问web资源,为什么有的在浏览器中打开,有的弹出下载框
    浏览器识别的打开,不识别下载
    识别:html img txt pdf

    当你写了这个Content-Disposition: attachment; filename=aaa.zip 意味着浏览器不管识别还是不识别都得下载

    设置缓存
    Expires: -1 ---- 过期时间 设置为0或者-1
    Cache-Control: no-cache 
    Pragma: no-cache  

  • 相关阅读:
    记录MySQL中优化sql语句查询常用的30种方法
    记录分布式和集群的区别
    TCP的三次握手与四次挥手理解及面试题(很全面)
    记录Linux常用命令大全
    DNS解析流程
    dup和dup2用法小结
    c++多态的实现
    linux下常见的字符串处理
    ncurses库的一些函数
    用两个栈实现一个队列
  • 原文地址:https://www.cnblogs.com/qq809306794/p/Java_Web.html
Copyright © 2020-2023  润新知