http协议+tomcat学习

Web

用于表示Internet主机提供外界访问的资源

Internet提供外界访问的资源分为

    静态资源(HTML页面):指web中提供的页面浏览时数据始终不变

    动态web资源:指web页面中供浏览的数据是程序产生的,不同事件点访问web页面看到的内容各不相同.


1.JavaEE规范

          由一组相关的技术构成的集合,规范:由相应的类和接口构


2.Tomcat目录结构

      bin:主要放批处理文件 startup.bat  开启服务器 ,shutdown.bat停止  

    conf 存放tomcat相关配置的文件 server.xml web.xml context.xml

    lib 存放jar包

    logs 存放日志信息

    temp 存放临时文件(文件上传)

    webapps 存放tomcat中所包含的应用,有几个文件夹就有几个应用

                           Roor/index.html

   work: Tomcat工作产生的目录缓存


3.一个常用的web项目所包含的目录结构

          WEB-INF 必须的 (该目录中包含的内容,外界不能访问)

         lib   jar包

      web.xml 必须的
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  version="2.5"> 
</web-app>
css文件夹
html文件夹


部署的方式
1.直接将应用程序文件夹拷贝到Tomcat的webapps
2.打war包  jar -cvf web应用目录 .
 把war包拷贝到webapps目录下


4.虚拟目录
1.在Host中加入<Context path="" docBase="">
path代表应用的访问路径,一定要有"/"
docBase代表的是应用的真实路径
  缺点:
要重新启动服务,才能加载进来
2.做一个虚拟目录第二种方式
 conf/[Catclina]/[localhost]/应用名.xml
文件xml中的内容
<Contex docBase=""/>


 4.设置主页
改Tomcat的web.xml文件
<welcome-file-list>
<welcome-file>1.html</welcome>
</welcome-file-list>
改端口69行  port="80" 这样就不需要写端口了,原因http默认用80端口号


HTTP概念
      超文本传输协议     浏览器和服务器交换数据的一种标准格式


  版本 
       HTTP1.0   HTTP1.1(目前使用的)


  1.0和1.1的区别  
       1.0建立连接后只能请求和响应一次  1.1建立连接后可以多次请求和响应,连接才会断开 


   一个关键的问题:
外部文件的引入,就会再次由浏览器本身发送一个请求,<link>  <img src=""> <scipt src="">




GET与POST两种提交方式区别
   GET提交的数据不能超过1kb   提交的数据会显示在地址栏  数据长度有限制  相对不安全
   POST提交的数据大小没有限制  提交的数据显示在主体中  所以相对安全




请求头特点: 
      总体特点:第一行是请求方式    第二行是一组请求头信息   第三行是空白
        
        第一行是请求方式
                 GET /app/dome.html HTTP/1.1   
      请求方式:  请求类型  请求资源  协议版本 
    
    第二行是一组请求头信息
       Accept-Charset  浏览器告知服务器,自己所支持的编码(GBK,UTF-8)
       Accept-Encoding:gzip deflaut 采用哈夫曼编码进行数据的无损压缩
       Accept-Language:告诉服务器, 自己所采用的语言类型
       Host:主机
       Referer:告诉服务器数据的来源    
    作用:1.统计网站请求来源  2.防盗链
       Content-Type:内容类型   text/html
       If-modified-since:缓存的最后时间
       User-Agent:浏览器的类型   例如:360,IE,Firefox等等
       Content-length:正文的长度
       Connection:close/keep-alive  
作用:在HTTP1.0官方协议中并没有对keepalive的明确支持,所有的HTTP请求是如下流程:
1.client 发起一个请求;
2.server收到请求后,回复一个响应;
3.连接关闭。
如果要在HTTP1.0中支持keep alive,你必须明确的在header中加入Connection:keep-alive。
1.client 发起一个包含Connection:keep-alive的请求
2.server收到请求后,如果server支持keepalive,回复一个包含Connection:keep-alive的响应,不关闭连接,否则回复一个包含Connection:close的响应,关闭连接。
3.如果client收到包含Connection:keep-alive的响应,向同一个连接发送下一个请求,直到一方主动关闭连接。
因为keepalive在很多情况下能够重用连接,减少资源消耗,缩短响应时间。所以在HTTP1.1中缺省就是支持keepalive的,如果响应方
不 支持keepalive,需要明确的标识Connection:close,Connection:keep-alive就没什么意义了。
       
Cookie:会话信息


常见状态码 
        200:正常成功
        302/307:重定向 
        304:服务器未修改
404:服务器找不到资源
500:服务器出现问题


响应头信息 
      location:http://www.baidu.com       指示新的资源的位置    作用:重定向跳转(302)  
      Server:代表服务器端所使用的服务器类型
      Content-Encoding:gzip   代表数据的压缩方式
      Content-Language:zh-cn   告诉客户端   服务器发送文本的语言
      Content-Type:text/html; charset=GB2312 服务器发送的内容的MIME类型 (Multipurpose Internet Mail Extensation) 多用途互联网邮件扩展类型
      Last-Modified:服务器最后修改资源时间
      Refresh:指定服务器刷新时间   Refresh: 3; url=http://www.baidu.com 指示服务器在3秒后刷新   
      Content-Disposition: attachment;FileName=aaa.zip  指示客户端下载文件
      
      Expires: -1 清理缓存
      Cache-Control:no-cache(1.1)  没有缓存
      Pragma: no-cache (1.0) 没有缓存


      Set-0Cookie:S=QQ=5LB_nQ; path=/search服务端发送的Cookie  




清空缓存经常用的三个消息头
        Expires: -1
  Cache-Control: no-cache (1.1)  
Pragma: no-cache   (1.0)




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值