讲解WEB应用的缓存兼容性设计

原创 2015年11月20日 20:16:32

在众多学习中,文章也许不起眼,但是重要的下面我们就来讲解一下。excel教学

经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的HTTD头信息中,增加了HTTP_X_FORWARDED_????信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址:
下面是2个例子,用于说明缓存兼容性应用的设计原则:
'对于一个需要服务器名的地址的ASP应用:不要直接引用HTTP_HOST/SERVER_NAME,判断一下是否有HTTP_X_FORWARDED_SERVER www.kmnk01.com
  

以下为引用的内容:
   function getHostName ()
        dim hostName as String = ""
        hostName = Request.ServerVariables("HTTP_HOST")
        if not isDBNull(Request.ServerVariables("HTTP_X_FORWARDED_HOST")) then
            if len(trim(Request.ServerVariables("HTTP_X_FORWARDED_HOST"))) > 0 then
                hostName = Request.ServerVariables("HTTP_X_FORWARDED_HOST")
            end if
        end if
        return hostNmae
     end function

well编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。[1] 
最早的编程语言是在电脑发明之后产生的,当时是用来控制提花织布机及自动演奏钢琴的动作。在电脑领域已发明了上千不同的编程语言,而且每年仍有新的编程语言诞生。很多编程语言
需要用指令方式说明计算的程序,而有些编程语言则属于声明式编程,说明需要的结果,而不说明如何计算。
    //对于一个需要记录客户端IP的PHP应用:不要直接引用REMOTE_ADDR,而是要使用HTTP_X_FORWARDED_FOR,
   

以下为引用的内容:
  function getUserIP (){
        $user_ip = $_SERVER["REMOTE_ADDR"];
        if ($_SERVER["HTTP_X_FORWARDED_FOR"]) {
            $user_ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
        }
    }


注意:HTTP_X_FORWARDED_FOR如果经过了多个中间代理服务器,有何能是逗号分割的多个地址,比如:200.28.7.155,200.10.225.77 unknown,219.101.137.3因此在很多旧的数据库设计中(比如BBS)往往用来记录客户端地址的字段被设置成20个字节就显得过小了。
经常见到类似以下的错误信息:
Microsoft JET Database Engine 错误 '80040e57' 字段太小而不能接受所要添加的数据的数量。试着插入或粘贴较少的数据。
/inc/char.asp,行236
原因就是在设计客户端访问地址时,相关用户IP字段大小最好要设计到50个字节以上,当然经过3层以上代理的几率也非常小。

kmnk01.com
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

j2ee web应用指定页面自动切换到IE兼容性视图

2012年10月15日,在公司项目下发演练中发现项目的表单竟然出现很到无法访问的问题,之后切换到生产环境下结果发现原来生产环境也存在这个问题。 点击红色方框中的文字时,会出现页面无法访问的情况,...

通过分布式设计及文件级数据缓存打造千万级别WEB应用

http://os.51cto.com/art/201203/321067.htm2011年京东商城碰到了严重的流量相关的性能瓶颈,51CTO也做了专门的报道,我有幸在6年前主持开发过日流量千万级别的...

移动web设计之各个平台浏览器兼容性测试指南

如今随着微信开发和webAPP的开发越来越多,对于很多web设计者和开发者来说,移动web设计是一个非常有挑战性的工作。虽然它只需要精通Html5,CSS3,javascript等3大利器,即可设计和...

Web应用的缓存设计模式

## ORM缓存引言 从10年前的2003年开始,在Web应用领域,ORM(对象-关系映射)框架就开始逐渐普及,并且流行开来,其中最广为人知的就是Java的开源ORM框架Hibernate,后来Hi...

web应用缓存技术漫谈

  • 2011-08-07 19:31
  • 203KB
  • 下载

web兼容性测试

  • 2014-05-13 10:14
  • 5.30MB
  • 下载

大型高并发高负载web应用系统架构-缓存架构策略 .

目前在网站的架构构成中普遍使用到缓存来提供WEB应用的性能,由于网站规模的不同,分别存在如下几种类型的缓存架构。   (1)单机缓存   (2)简单分布式缓存   (3)使用复制方式的缓存集群   (...
  • guozh
  • guozh
  • 2011-07-21 17:42
  • 487

web测试之兼容性测试

  • 2015-05-18 21:55
  • 23KB
  • 下载

电力电子的兼容性设计

  • 2011-04-25 17:11
  • 13.98MB
  • 下载

Spring基于注解的缓存配置--web应用实例

转  http://hanqunfeng.iteye.com/blog/605123 之前为大家介绍了如何使用spring注解来进行缓存配置 (EHCache 和 OSCache...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)