----------26----张立---

一、分发的四种方法总结
     1、分析http报头中的字段含义:
Accept : 可以接受的数据方式比如压缩,编码等
User-Agent : 客户使用的浏览器 
Host : 客户端访问时在浏览器输入的域名或者ip。
Response Code : 200 404 500 (不同的数字代表不同的状态)
Date : 数据时间
Content-Type : 数据类型
     2、四种分发分别为:
基于host、基于uri、基于user-agent、利用反向代理
     3、反向代理的分发总结:
           a、下面的5和6将不同的请求交于远程不同的服务器去处理就是反

向代理。
           b、我的理解反向代理是一种实现分发的工具,它还需要和其它别

的条件一起来实现分发.
     4、基于host的分发总结:
           a、之前学过的apache虚拟主机也是一种基于host的分发。
           b、原理分析:由于host字段不同,所以可以将不同的域名或ip的

主页放到不同的位置,就可以实现分发。在nginx中举例如下:
                server{
                        listen  80;
                        server_name  www.zlee1.com;
                   location    /    {
                        root   /tmp/www1 ;
                        index   index.html  index.htm ;
                                    }
                       }
   ########################################
                server{
                        listen  80;
                        server_name  www.zlee2.com;
                   location    /    {
                        root   /tmp/www2 ;
                        index   index.html  index.htm ;
                                    }
                       }
       5、基于uri的分发总结:
             a、原理分析:uri既是用户请求该域名中的不同的资源,因此

将不同的资源指向不同的首页或者交给不同的服务器去处理,就可以实现分发


b、在nginx中举例如下:该例子中是匹配不同语言的主页,分别以.html 

.php   .jsp结尾,分别.html的自己处理,剩下两个交给远程两台不同的服务

器去处理。
                server{
                        listen  80;
                        server_name  www.zlee1.com;
                   location    /    {
                        root   /tmp/www ;
                        index   index.html  index.htm ;
                                    }
                   location  ~* \.php$    {
                         proxy_pass   http://ip1
                                          }
                   location  ~* \.jsp$    {
                         proxy_pass   http://ip2
                                          }
                       }

        6、基于user-agent的分发总结:
              a、原理分析:不同的浏览会在user-agent中出现不同的字段

,比如ie浏览器会出现 MSIE的字段,firefox浏览器会出现Mozolla的字段,

因此在配置文件中匹配不同的字段就可以实现分发。在nginx中举例如下:
                  server{
                        listen  80;
                        server_name  www.zlee2.com;
                   location    /    {
                        proxy_pass  http://ip1;
                   if  ($http_user_agent ~* MSIE){
                        proxy_pass  http://ip2;
                                                 }
                   if ($http_user_agent ~*Mozilla) {
                        proxy_pass  http://ip3;
                                                     }
                                     }
                         }
  
二、tomcat
        1、tomcat是一个可apache、nginx等web服务器一样,同样有处理

html语言的功能,但是最主要是处理java语言。
        2、当用户访问以.jar结尾的文件时就需要使用tamcat来处理。上述

的uri分发时已经举例,匹配以.jar结尾的文件。


三、fastcgi
        1、之前学习内容是处理php语言时,需要先安装好apache然后在

apache上加载php模块,使之可以处理php语言。
        2、而postcgi是将php做成一个独立的服务。而不依赖于apache等web

服务器。

 

四、盗链和防盗链
        1、盗链:盗链是指服务提供商自己不提供服务的内容,通过技术手

段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户

提供其它服务提供商的服务内容。
        2、盗链的危害:网站盗链会大量消耗被盗链网站的带宽,而真正的

点击率也许会很小。
        3、防盗链原理:实现使用HTTP报头的referer,该字段可以记录来源

服务器的域名或者ip。通过匹配如果不是自己的则视为盗链。