精华内容
下载资源
问答
  • WEB应用防火墙优缺点浅析

    千次阅读 热门讨论 2010-04-21 17:36:00
    应用防火墙也叫Web应用防火墙(Web Application Firewall,缩写WAF),是一种新兴的网站安全产品,主要功能为防跨站攻击、防SQL注入攻击等。WAF的火爆登场,各式各样的应用防火墙层出不穷。从存在型态上来分,可以为...

    随着网络的普及,网站的安全也面临着很大的挑战;几乎一夜间千树万树梨花开,“网站保护”、“防篡改”、“应用防火墙”等关键字成为了安全的代名词。

    应用防火墙也叫Web应用防火墙(Web Application Firewall,缩写WAF),是一种新兴的网站安全产品,主要功能为防跨站攻击、防SQL注入攻击等。WAF的火爆登场,各式各样的应用防火墙层出不穷。从存在型态上来分,可以为硬件式和软件式;根据技术原理的不同,硬件型态的又分为旁路式和串联式,软件型态的又分为代理式和嵌入式。四种不同实现技术,各有其优缺点,下面将一一分别解说。

    一、硬件型态

    1. 旁路式

    优点:

    部署简单:将WAF 设备通过一根网线直接联接到核心交换机上,就可以完成部署。

    不影响网速:旁路式主要是通过实时的从交换机上复制数据包,然后进行分解、分析有无攻击行为。

    缺点:

    无法独立完成防御功能:旁路式的实现方式无法完成对攻击行为阻断,必须通过防火墙的协助才能完成阻断功能。

    丟包的概率较高:丢包率取决于当前网络流量和WAF 分析的效率;单位流量越大WAF 处理速度越慢,丢包率就越大。

    无法支持HTTPS :不同的网站所采用的key 都是不同的,所以旁路式的WAF 是无法解析HTTPS 数据包。

    免费使用:

    2. 串联式(网关式)

    优点:

    部署简单:顾名思义,串联就是串联于网关处。

    可主动防御:由于是串联的方式接入,所以所有访问的数据都要先经过它的过滤器 才可到达目的地。

    无丟包问题:串联的方式决定了不可能存在丢数据的问题。

    缺点:

    数据流量成为瓶颈:网络上的所有的数据包都要经过WAF ,所以WAF 支持带宽就成为了现有网络的最大带宽。

    不支持HTTPS :同样无法解决HTTPS 数据包。

    免费使用:

    二、软件型态

    1. 代理式

    优点:

    实现成本低:不需要硬件设备的投入,节省硬件开支。

    可实现主动防御:和串联式的硬件相同,只不过串联的位值不同,一个是网关处, 一个是网络和服务器之间。

    无丟包问题:同样不存在丢包的问题。

    缺点:

    部署复杂:要在服务器上完成代理软件,然后设置代理的端口和服务器的端口,代理先获取请求然后再转发服务器。

    不支持HTTPS :同样无法持HTTPS 数据包的解析。

    免费使用:

    国外Web Wall 1.2.07 ,下载地址:http://download.cnet.com/Web-Wall/3000-10435_4-10544302.html

    2. 嵌入式

    优点:

    实现成本低:同样无硬件的开支。

    可实现主动防御:工作于服务器内部,可以在数据处理之前进分析过滤。

    无丟包问题:串联的特点决定了无丢包问题。

    支持HTTPS :由于系统工作于服务器内部,所以很方便可以获取到解密之后的数据包,对HTTPS 的支持也就水到渠成了。

    缺点:

    部署复杂:系统的部署要根据操作系统和服务器来进行相应的处理。

    免费使用:

    国内的InforGuard WebWall提供免费版本,官方网站http://www.inforguard.com

    展开全文
  • web service 优缺点

    2017-11-20 10:19:55
    Web Service 优势 1.异构平台的互通性  理论上, Web Service 最大的优势是提供... Web Service 使任何两个应用程序,只要能读写XML,那么就能互相通信。  2.更广泛的软件复用  软件的复用技术通过组合

    Web Service 优势

    1.异构平台的互通性 
    理论上, Web Service 最大的优势是提供了异构平台的无缝街接技术手段。由于不同的用户使用不同的硬件平台,不同的操作平台,不同的操作系统,不同的软件,不同的 协议通信,这就产生了互相通信的需求。 Web Service 使任何两个应用程序,只要能读写XML,那么就能互相通信。 
    2.更广泛的软件复用 
    软件的复用技术通过组合已有模块来搭建应用程序,能大幅度提高软件的生产效率和质量。用户只要获得了描述 Web Service 的 WSDL 文件,就可以方便地生成客户端代理,并通过代理访问 Web Service 。 
    3. 普通的通信能力 
    Web Service 可用基于 XML 的 SOAP 来表示数据和调用请求。并且通过 HTTP 协议传输 XML 格式的数据。 
    4. 迅捷的软件发行方式 
    Web Service 将彻底地改变软件的发行方式。软件供应商可以把软件分解成若干 Web Service 模块构成的系统,直接在 Web 上发布软件。 
    5. 方便的商务的商务的集成 
    企业通过把业务软件的核心模块以 Web Service 的形式向其合作伙伴发布,这样既保留了原有的数据和软件,又方便了彼此的联系。


     

    缺点

     

      缺点一:单机应用程序

          目前,企业和个人还使用着很多桌面应用程序。其中一些只需要与本机上的其它程序通信。在这种情况下,最好就不要用WebService ,只要用本地的 API 就可以了。COM 非常适合于在这种情况下工作,因为它既小又快。运行在同一台服务器上的服务器软件也是这样。最好直接用COM 或其它本地的API 来 进行应用程序间的调用。当然WebService 也能用在这些场合,但那样不仅消耗太大,而且不会带来任何好处。

          缺点二:局域网的同构应用程序

          在许多应用中,所有的程序都是用VB 或VC 开发的,都在Windows 平台下使用COM ,都运行在同一个局域网上。例如,有两个服务器应用程序需要相互通信,或者有一个Win32 或WinForm 的客户程序要连接局域网上另一个服务器的程序。在这些程序里,使用DCOM 会比SOAP/HTTP 有效得多。 与此相类似,如果一个.NET 程序要连接到局域网上的另一个.NET 程序,应该使用.NETremoting 。有趣的是,在.NETremoting 中, 也可以指定使用SOAP/HTTP 来进行WebService 调用。不过最好还是直接通过TCP 进行RPC 调用,那样会有效得多。

    展开全文
  • 作为集成特殊应用科学的分层 J2EE / Java 框架,该框架为软件工程师提供了用于 Web 应用程序配置,应用程序开发和安全项目的完整工具包。该框架以其发达的生态系统而闻名,它提供了许多附加选项,从 SOAP Web 服务,...

    一 、Spring MVC - Java Web 框架

    自离首次发布 10 多年以来,Spring MVC 框架仍然领先于竞争对手。随着时间的推移,它扩展成一个完整的 MVC 框架,并不断演变成一个全面的 Java 框架。作为集成特殊应用科学的分层 J2EE / Java 框架,该框架为软件工程师提供了用于 Web 应用程序配置,应用程序开发和安全项目的完整工具包。该框架以其发达的生态系统而闻名,它提供了许多附加选项,从 SOAP Web 服务,REST API 到安全加密和授权。
    优点:
    增强模块化的轻量级容器
    可以跨各种平台进行部署
    灵活的依赖注入使用
    包括 XML,Java 和注释配置的三路配置
    通过 POJO's缓解了注射测试的数据
    缺点:
    学习曲线比较陡峭
    新手实施比较困难
    需要花费时间部署

    推荐开源项目:

    GitHub地址: https://github.com/jhipster/generator-jhipster,     

    官网地址 :https://www.jhipster.tech/cn/ 

    https://github.com/elunez/eladmin

     

     

    二、JSF - Java Web 框架

    Oracle 认为 JSF 是一个实用网络 Java 框架,旨在简化基于 Web 的 UI 的集成开发。虽然这个框架在 Java 开发方面不是很好,但是 Oracle 提供的文档很容易使用。这是一种标准化的技术,拥有丰富的工具和库,可以为你在高度复杂的应用程序中铺平道路。JSF 规范允许启用标准用户界面组件的重用和扩展。它减少了创建和维护 Java 应用程序在上运行和在目标客户端上呈现 UI 应用程序的痛苦。不仅如此,它还提供简单的数据传输和可重用的 UI 组件。
    优点
    由于它可以创建可重复使用的组件,因此效率更高且一致
    支持像 EJB 这样的 JSF 实现的优秀供应商(IBM,Oracle,JBoss 等)
    准备使用像 Apache,Infragistics,Richfaces 等组件
    方便开发人员,特别是那些使用 IDE 软件的人
    缺点
    陡峭的学习曲线
    没有考虑书签工具
    不可扩展
    原始 Ajax 支持
    缺乏灵活性

     

    三、Google Web Toolkit - Java Web 框架
    Google Web Toolkit(GWT)是一个开源开发工具集,使开发人员能够构建和优化复杂的 JS 前端应用程序。它的主要目标是提供高性能 Web 应用程序的开发,即使开发人员不熟悉 JavaScript,XMLHttpRequest 或浏览器等偏冷门的知识。为了让其可信度高,谷歌自己的许多产品,包括 AdSense,Hotel Finder,Wallet,AdWords 等都使用 GWT。
    优点:
    更容易学习
    内置 IDE 支持重构 Java 代码
    可以在客户端大量构建响应式 Web 应用程序,并减少服务器端的琐事
    可以迭代地平滑地从典型的 Web 应用程序迁移到 GWT 应用程序
    即使在使用 AJAX 的情况下,也具有内置的浏览器后退按钮支持
    缺点:
    仅对 Java 开发人员有利,对 PHP 或 .NET 的开发人员没有太大帮助
    由于快速发展的 GWT,有许多版本很难获得所有功能和接口
    编译速度慢,需要使用专有方法来定义结构

    四、Grails - Java Web 框架

    Grails 是一个开源的 Java Web 框架,旨在将开发人员的生产力与默认值和 Convention-over-Configuration API 相提并论。它与 Java(JVM)相集成,同时提供强大的功能,包括编译时元编程,异步编程和领域特定语言。Grails 采用强大的视图技术,集成的 NoSQL / ORM 支持,插件和 Spring 支持的依赖注入进行更新。让你可以轻松集成并互操作 Java,Java EE 和 JVM 容器。
    优点:
    Grails 提供了一个快速的开发周期
    非常适合小型和中型项目
    各种插件可供选择
    简单而令人易懂的文档
    可以在不重启服务器的情况下更改配置
    缺点:
    使用运行时语言可能会很困难
    开发多线程应用程序,GORM 可能会出现问题
    复杂的集成过程
    延迟运行时间

    五、Struts 2 - Java Web 框架
    Apache 的 Struts 是一个用于开发现代 Java Web 应用程序的开源免费 MVC 框架。它包含一组类和接口,共同协作开发 Web 应用程序。它适用于许多 Java 应用程序的网络框架,并且受到了很多社区的支持。为了进一步扩展 Struts Java 框架,Struts 2 作为后继者有了很大的改变。这个框架最适合于开发当代 Java EE web 应用程序的工程师,Apache 软件基金会借助 Struts 2 为开发人员提供了一个用于开发面向网络的,企业级应用程序,并优化整个开发流程的工具。
    优点:
    没有线程安全问题
    依赖注入使得测试更简单
    它可以使用“对象图导航语言”(OGNL)
    Struts 2 框架的 Servlet 上下文以简单的地图形式表示
    它支持通过验证方法进行手动验证,并且还包含子框架验证
    缺点:
    由于它与 Struts 1 完全不同,难以迁移
    Struts 2 文档非常有限
    由于文档管理不善,新用户很难发现它的优点;

    近几年爆出致命漏洞,导致大量用户选择其它框架。

     

    六、nutz Java Web框架

    Nutz是对于Java程序员来说,除SSH之外的另一个选择。当然,它是开源的,并且是完全免费的。同时也是商业友好的

    优点

    轻 -- 当前最新版,整个jar文件共910kB -- 针对JDBC的薄封装,无缓存。
    全 -- 提供了Dao(ORM, SQL管理),Ioc, Aop, Mvc, Json解析等必要功能。
    活 -- 各个部分可以独立使用,比如在Spring里采用Nutz.Dao,又比如在Nutz.Ioc里使用Hibernate等。
    整 -- 它所有功能均不依赖第三方jar文件。这就意味着:如果一个Web应用,你在WEB-INF/lib下只需要放置一个nutz.jar就够了。当然,你要使用其它的连接池、数据库驱动、打印PDF支持等功能,还需要自行添置jar包

    关联查询 自动生成left Join 文档地址

    推荐项目地址:https://gitee.com/TomYule/NutzSite  https://gitee.com/wizzer/NutzWk

    缺点

    目前只有中文文档

    七、jfinal - Java Web框架
    JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率。

    优点

    JFinal架构十分简单,顶层是一个责任链模式变种,ActionHandler 内部结构也十分简单,是一个Command模式变种。
    遵循COC原则,零配置,无xml
    ActiveRecord支持,使数据库开发极致快速
    自动加载修改后的java文件,开发过程中无需重启web server
    AOP支持,拦截器配置灵活,功能强大
    Plugin体系结构,扩展性强
    多视图支持,支持FreeMarker、JSP、Velocity
    强大的Validator后端校验功能
    功能齐全,拥有struts2的绝大部分功能

    缺点

    没有英文文档

     

    结束语:

    数据库层面 dao  使用了很多框架  mybatis  hibernate  nutz  个人感觉 还是nutz方便

    关联查询 自动生成  left join SQL

    mybatis  列表查询关联查询 是查询 列表 再单个查询

    hibernate 也是类似 效率低了很多

     

    如有问题 欢迎留言

    码云主页:https://gitee.com/TomYule

    GitHub: https://github.com/TomYule

    如果对您有帮助 欢迎点赞 收藏 转发

     

    展开全文
  • 毫无疑问,Java 是当今世界上最重要的编程语言...JavaScript框架旨在支持动态网站,Web服务,Web资源和Web应用程序的开发。在本文中,搜集了5个关于Java Web框架的信息。 Spring MVC - Java Web 框架 自离首次发布1...

    毫无疑问,Java 是当今世界上最重要的编程语言之一。js框架给程序员提供了一个可以构建程序的坚实基础。它包括定义的类和功能,用于硬件设备管理,与系统软件交互并处理输入,让开发人员变得更轻松。JavaScript框架旨在支持动态网站,Web服务,Web资源和Web应用程序的开发。在本文中,搜集了5个关于Java Web框架的信息。

    Spring MVC - Java Web 框架
    自离首次发布10多年以来,Spring MVC 框架仍然领先于竞争对手。随着时间的推移,它扩展成一个完整的MVC框架,并不断演变成一个全面的Java框架。作为集成特殊应用科学的分层J2EE / Java框架,该框架为软件工程师提供了用于 Web 应用程序配置,应用程序开发和安全项目的完整工具包。该框架以其发达的生态系统而闻名,它提供了许多附加选项,从SOAP Web服务,REST API到安全加密和授权。

    优点:

    • 增强模块化的轻量级容器

    • 可以跨各种平台进行部署

    • 灵活的依赖注入使用

    • 包括XML,Java和注释配置的三路配置

    • 通过POJO’s缓解了注射测试的数据

    缺点:

    • 学习曲线比较陡峭

    • 新手实施比较困难

    • 需要花费时间部署

    JSF - Java Web 框架
    Oracle 认为 JSF 是一个实用网络 Java 框架,旨在简化基于Web的UI的集成开发。虽然这个框架在Java开发方面不是很好,但是Oracle提供的文档很容易使用。这是一种标准化的技术,拥有丰富的工具和库,可以为你在高度复杂的应用程序中铺平道路。JSF规范允许启用标准用户界面组件的重用和扩展。它减少了创建和维护Java应用程序在服务器上运行和在目标客户端上呈现 UI 应用程序的痛苦。不仅如此,它还提供简单的数据传输和可重用的UI组件。

    优点:

    • 由于它可以创建可重复使用的组件,因此效率更高且一致

    • 支持像EJB这样的JSF实现的优秀供应商(IBM,Oracle,JBoss等)

    • 准备使用像Apache,Infragistics,Richfaces等组件

    • 方便开发人员,特别是那些使用IDE软件的人

    缺点:

    • 陡峭的学习曲线

    • 没有考虑书签工具

    • 不可扩展

    • 原始Ajax支持

    • 缺乏灵活性

    Google Web Toolkit - Java Web 框架
    Google Web Toolkit(GWT)是一个开源开发工具集,使开发人员能够构建和优化复杂的JS前端应用程序。它的主要目标是提供高性能Web应用程序的开发,即使开发人员不熟悉 JavaScript,XMLHttpRequest 或浏览器等偏冷门的知识。为了让其可信度高,谷歌自己的许多产品,包括 AdSense,Hotel Finder,Wallet,AdWords 等都使用 GWT。

    优点:

    • 更容易学习

    • 内置IDE支持重构Java代码

    • 可以在客户端大量构建响应式Web应用程序,并减少服务器端的琐事

    • 可以迭代地平滑地从典型的Web应用程序迁移到GWT应用程序

    • 即使在使用AJAX的情况下,也具有内置的浏览器后退按钮支持

    缺点:

    • 仅对Java开发人员有利,对PHP或.NET的开发人员没有太大帮助

    • 由于快速发展的GWT,有许多版本很难获得所有功能和接口

    • 编译速度慢,需要使用专有方法来定义结构

    Grails - Java Web 框架
    Grails 是一个开源的Java Web框架,旨在将开发人员的生产力与默认值和Convention-over-Configuration API相提并论。它与Java虚拟机(JVM)相集成,同时提供强大的功能,包括编译时元编程,异步编程和领域特定语言。Grails采用强大的视图技术,集成的NoSQL / ORM支持,插件和Spring支持的依赖注入进行更新。让你可以轻松集成并互操作Java,Java EE和JVM容器。

    优点:

    • Grails提供了一个快速的开发周期

    • 非常适合小型和中型项目

    • 各种插件可供选择

    • 简单而令人易懂的文档

    • 可以在不重启服务器的情况下更改配置

    缺点:

    • 使用运行时语言可能会很困难

    • 开发多线程应用程序,GORM 可能会出现问题

    • 复杂的集成过程

    • 延迟运行时间

    Struts 2 - Java Web框架

    Apache的Struts是一个用于开发现代Java Web应用程序的开源免费MVC框架。它包含一组类和接口,共同协作开发Web应用程序。它适用于许多Java应用程序的网络框架,并且受到了很多社区的支持。为了进一步扩展Struts Java框架,Struts 2 作为后继者有了很大的改变。这个框架最适合于开发当代 Java EE web 应用程序的工程师,Apache 软件基金会借助 Struts 2 为开发人员提供了一个用于开发面向网络的,企业级应用程序,并优化整个开发流程的工具。

    优点:

    • 没有线程安全问题

    • 依赖注入使得测试更简单

    • 它可以使用“对象图导航语言”(OGNL)

    • Struts 2框架的Servlet上下文以简单的地图形式表示

    • 它支持通过验证方法进行手动验证,并且还包含子框架验证

    缺点:

    • 由于它与Struts 1完全不同,难以迁移

    • Struts 2 文档非常有限

    • 由于文档管理不善,新用户很难发现它的优点

    展开全文
  • 摘要: 毫无疑问,Java 是当今世界上最重要的编程语言之一。...JavaScript 框架旨在支持动态网站,Web 服务,Web 资源和 Web 应用程序的开发。在本文中,搜集了 5 个关于 Java Web 框架的信息。 Spring MVC - Java...
  • 毫无疑问,Java 是当今世界上最重要的编程语言之一。...JavaScript 框架旨在支持动态网站,Web服务,Web资源和Web应用程序的开发。在本文中,搜集了 5 个关于Java Web框架的信息。 1.Spring MVC - Java We...
  • 满心狼藉回答时间:2019-12-05向TA提问集群(Cluster)是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提供网络服务或应用程序(包括数据库、Web服务和文件服务等)的单一客户视图,同时提供接近...
  • 随着Web技术的发展,基于Web应用系统已经变得越来越庞大和复杂,如何保证Web应用系统的准确性...本文比较了几种软件测试模型优缺点,分析了基于Web应用系统的功能测试、性能测试,探讨了基于Web应用系统的安全性测试。
  • Nginx/LVS/HAProxy负载均衡软件优缺点详解 PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。 一般对...
  • Nginx/LVS/HAProxy 负载均衡软件优缺点详解 Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。 一般对负载均衡的...
  • Nginx/LVS/HAProxy负载均衡软件优缺点详解 PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,参考了一些资料,结合自己的一些使用经验,总结一下。 一般对负载均衡的使用是随着网站规模的提升根据不同...
  • (总结)Nginx/LVS/HAProxy负载均衡软件优缺点详解 PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。 一般对负载...
  • 具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用...
  • Nginx/LVS/HAProxy负载均衡软件优缺点分析一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全...
  • 负载均衡 (Load Balancing) 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力,...具体的应用需求还得具体分析,如果是中小型的Web应用,...
  • 具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用...
  • 总结)Nginx/LVS/HAProxy负载均衡软件优缺点详解 PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。 一般对负载均衡的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 428
精华内容 171
关键字:

web应用软件优缺点