Questions tagged «web-applications»

Web应用程序是通过“ Web”访问的应用程序,“ Web”可以表示Internet或内部网络(Intranet)。

3
为什么HTTP没有POST重定向?
HTTP重定向是通过HTTP代码301和302(也可能是其他代码)以及带有新位置的地址的称为“位置”的标头字段完成的。但是,浏览器始终向该URL发送“ GET”请求。 但是,很多时候您需要通过POST(例如银行付款)将用户重定向到另一个域。这是一个常见的场景,并且确实是一个要求。有人知道为什么HTTP规范中忽略了这样的通用要求吗?解决方法是将表单(带有隐藏字段中的参数)的操作发送到目标位置(Location标头字段的值),然后setTimeout将表单提交到目标位置。

9
对网络应用程序的担心不是“面向未来”
我是本地小型SaaS Web应用程序的Web开发人员。目前,它有大约六个客户。 随着我继续设计应用程序,要说服自己投入到项目的任何时间对我来说变得越来越困难,这在开始阶段就已经发生了。随着对项目和我已经编写的代码的重视,我担心我提交的所有其他工作将在不久的将来被推翻,因为随着业务的增长,该应用程序的扩展性将不佳。 作为一名申请实习的大学生,我曾让雇主质疑我的选择,即在面试过程中不使用任何网络框架,这只会使我进一步怀疑我以前的工作。我只是不知道任何Web框架,也不知道要开始使用哪个框架。 我在一月份以全职开发人员的身份进入了实习岗位,在那里我将开始学习前端框架,但是完成应用程序的压力越来越大,我正在考虑完全废弃该应用程序并重新开始,这是我以前做过的 该应用程序当前以PHP和jQuery(用于AJAX调用)构建,并使用MySQL作为其数据库。关于如何克服这种思维障碍并确保我的应用程序可扩展的任何想法?提前致谢。

8
如何使应用程序保持无状态
这可能是一个令人费解的问题,但是我试图更好地理解无状态。 根据我的阅读,Web应用程序应该是无状态的,这意味着每个请求都被视为独立的事务。因此,应避免使用Session和Cookies(因为它们都是有状态的)。更好的方法是使用令牌,令牌是无状态的,因为服务器上没有存储任何内容。 因此,我试图理解,当会话中保留有数据(例如购物车中的物品)时,Web应用程序如何变得无状态?这些实际上存储在某个地方的数据库中,然后定期清除吗?当您使用令牌而不是cookie时,这如何工作? 然后作为一个相关问题,主要网站(亚马逊,谷歌,Facebook,Twitter等)是否实际上是无状态的?他们使用令牌还是cookie(或两者都使用)?


11
设计寿命超过40年的Web应用程序的建议
情境 目前,我是一个医疗保健项目的一部分,其主要要求是使用医疗保健提供者使用用户生成的表单来捕获属性未知的数据。第二个要求是数据完整性是关键,并且该应用程序将使用40年以上。我们目前正在将过去40年的客户数据从各种来源(纸张,Excel,Access等)迁移到数据库。将来的要求是: 表单的工作流程管理 表格进度管理 基于安全/角色的管理 报告引擎 手机/平板电脑支持 情况 在短短6个月的时间里,当前的(合同制)架构师/高级程序员采用了“快速”方法,并设计了一个较差的系统。由于他已经设计了一些bean来对数据库执行“删除”操作,所以数据库未规范化,代码已耦合,层没有专用目的,并且数据开始丢失。代码库极度膨胀,并且由于数据库未标准化,因此有些作业只是为了同步数据。他的方法一直是依靠备份作业来还原丢失的数据,并且似乎不相信重构。 将我的发现提交给项目经理之后,建筑师的合同结束后将被撤职。我已经获得了重新架构此应用程序的任务。我的团队由我和一名初级程序员组成。我们没有其他资源。我们已经获得了为期6个月的冻结要求,在此期间我们可以专注于重新构建该系统。 我建议使用像Drupal这样的CMS系统,但是由于客户组织的政策原因,该系统必须从头开始构建。 这是我第一次设计使用寿命超过40岁的系统。我只从事3-5年使用寿命的项目,所以这种情况非常新,但令人兴奋。 问题 哪些设计考虑因素将使系统更“面向未来”? 应该向客户/ PM问什么问题,以使系统更“面向未来”?

9
我们可以在测试软件时假设用户不会对软件执行此类愚蠢的操作吗?
例如:在Web应用程序中执行表单的功能测试时,我们将通过输入不同种类的随机输入值来测试字段。 通常,作为Web应用程序的用户,我们实际上并未在字段中输入随机值。 那么,当生产中出现此类问题的可能性较小时,合并所有可能/可能不会导致错误的测试用例有什么用呢? 注意:上面的示例仅是示例案例;此类问题可能发生在任何种类的功能/模块中。 我问这个问题只是为了知道是否要遵循任何标准做法,或者它完全取决于产品,领域和所有其他因素。

7
是否有Bitbucket,Github,Kiln和类似DVCS浏览和管理工具的开源替代品?[关闭]
我知道提供DVCS浏览和管理的几种工具/服务,例如Bitbucket,Github,Kiln,SCM-Manager和Rhodecode。 但是,我正在考虑的用例是这样的: 任何源代码都必须位于雇主内部服务器上。 解决方案必须是开源的。 它应提供类似Bitbucket或Github的体验,包括项目Wiki,存储库浏览和管理以及社交编码方面(如代码审查)。 该解决方案应具有丰富的支持(如果不支持其他DVCS)。 其中只有SCM-Manager和RhodeCode可以接近,因为它们可以安装在您自己的服务器上并且是开源的。但是他们没有Bitbucket或Github经验。没有问题跟踪器或Wiki,并且用户界面虽然功能正常,但与Github或Bitbucket不相称。 我可以通过他们的存储库浏览器来接近Trac或Redmine,但不幸的是它们没有任何存储库管理功能。 是否有其他开源工具可以提供与Bitbucket,Github或Kiln类似的体验?

10
现代Web应用程序框架如何以及为什么演变为将URL路由与文件系统分离?
与大约10年前相比,我已经注意到使用路由样式将URL路径与文件系统分离的框架向框架的转变。这通常是在前控制器模式的帮助下完成的。 即,以前,URL路径直接映射到文件系统,因此反映了磁盘上的确切文件和文件夹,如今,实际的URL路径已编程为通过配置定向到特定的类,因此不再反映文件系统文件夹和文件结构。 题 这如何以及为什么变得司空见惯?它如何以及为什么决定将其“更好”到有效地摒弃了曾经司空见惯的直接归档方法? 其他答案 这里有一个类似的答案,有点涉及路由的概念以及一些优点和缺点:对于PHP框架,为什么要使用“路由”概念? 但是,它没有解决历史变化方面的问题,也没有解决这种变化如何或为什么逐渐发生的问题,到如今使用这种新的路由样式模式的新项目几乎都在哪里,而直接归档已经过时或被放弃了。 同样,提到的大多数优缺点似乎不足以保证进行这样的全球变更。我能看到推动这一变化的唯一好处也许是向最终用户隐藏了文件/文件夹系统,并且缺少?param=value&param2=value,这使得URL看起来有点干净。但是,这些是改变的唯一原因吗?如果是,为什么背后有这些原因? 例子: 我最熟悉PHP框架,许多流行的现代框架都使用这种分离的路由方法。为了使其正常工作,您可以在Apache或类似的Web服务器中设置URL重写,在该URL中,通常不再通过直接指向文件的URL路径触发Web应用程序功能。 Zend表现力 https://docs.zendframework.com/zend-expressive/features/router/aura/ https://docs.zendframework.com/zend-expressive/features/router/fast-route/ https://docs.zendframework。 com / zend-expressive / features / router / zf2 / Zend框架 https://docs.zendframework.com/zend-mvc/routing/ 拉拉韦尔 https://laravel.com/docs/5.5/routing CakePHP https://book.cakephp.org/3.0/en/development/routing.html

6
服务层与DAO -为什么两者同时存在?
我一直在使用Java Web应用程序示例中的SpringMVC,Hibernate和某些数据库。 有几种不同的方法可以执行此操作,但是此Spring 3和hibernate集成教程(带有示例)具有模型类,视图(在jsp中)以及控制器的服务和dao类。 我的问题是,服务类和DAO类是否都做同样的事情?您为什么同时需要它们? 这是我实际使用的教程:http : //fruzenshtein.com/spring-mvc-security-mysql-hibernate/

4
不使用JSF的原因[关闭]
我是StackExchange的新手,但我认为您可以为我提供帮助。 我们正在创建一个新的Java Enterprise应用程序,以替换旧版JSP解决方案。由于许多更改,UI和业务逻辑的各个部分将被完全重新考虑和重新实现。 我们首先想到的是JSF,因为它是Java EE中的标准。起初,我印象深刻。但是现在,我正在尝试实现一个功能原型,并且对使用它确实有一些严重的担忧。 首先,它创建了我见过的最糟糕,最混乱的无效伪HTML / CSS / JS混合。它违反了我在网络开发中学到的每一个规则。此外,它把所有东西紧密结合在一起:布局,设计,逻辑和与服务器的通信。我看不到如何舒适地扩展此输出,无论是使用CSS样式,添加UI糖果(例如可配置的热键,拖放小部件)还是其他方法。 其次,它太复杂了。它的复杂性非常出色。如果您问我,这是对基本Web技术的拙劣抽象,最终变得残废无用。我有什么好处?没有,如果您考虑的话。数百个组件?我看到了数以万计的HTML / CSS片段,数万个JavaScript片段以及成千上万个jQuery插件。它解决了很多问题-如果不使用JSF,就不会有。或完全是前控制器模式。 最后,我认为我们将不得不在两年之内重新开始。我看不到如何实现所有第一个GUI模型(此外;我们的团队中没有JSF专家)。也许我们可以以某种方式将其破解。然后会有更多。我确信我们可以破解我们的黑客。但是在某些时候,我们会陷入困境。由于服务层之上的所有内容都由JSF控制。我们将不得不重新开始。 我的建议是使用JAX-RS实现REST api。然后用客户端MVC创建一个HTML5 / Javascript客户端。(或MVC的某种风格。)顺便说一句;无论如何,我们都将需要REST api,因为我们也在开发部分Android前端。 我怀疑JSF是当今最好的解决方案。随着互联网的发展,我真的不明白为什么要使用这种“耙子”。 现在,优点/缺点是什么?我如何强调我不使用JSF的观点?在我的建议下使用JSF有什么优点?

8
客户端编码:如何防止恶意使用?
在过去的几年中,客户端(浏览器)应用程序的趋势确实起飞了。 对于我的最新项目,我决定尝试与时俱进,并编写一个客户端应用程序。 此应用程序的一部分涉及向用户发送交易电子邮件(例如,验证注册,密码重置电子邮件等)。我正在使用第三方API发送电子邮件。 通常,我会让我的应用程序在服务器上运行。我会从服务器上的代码中调用第三方API。 运行客户端应用程序意味着这现在需要在用户的浏览器上进行。第三方API提供了实现此目的所需的JavaScript文件。 我看到的第一个明显问题是我需要使用API​​密钥。通常,这通常可以安全地存储在我的服务器上,但是现在大概需要将这个密钥提供给客户端浏览器。 假设我可以解决这个问题,那么下一个问题就是阻止精通技术的用户在浏览器上加载JavaScript开发人员工具并以他们喜欢的方式使用电子邮件API,而不是坚持我在应用程序中设置的任何规则。 我想我的一般问题是-我们如何防止恶意使用客户端应用程序?

5
构建单页Web应用程序的优缺点
我正在为正在进行的辅助项目进行原型设计/概念验证阶段的结尾,并试图决定一些更大的应用程序设计决策。该应用程序是一个专为敏捷开发流程量身定制的项目管理系统。我需要做出的决定之一是是否要使用传统的多页应用程序还是单页应用程序。 目前,我的原型是传统的多页设置,但是我一直在寻找ribs.js来清理某些结构并将其应用于Javascript(jQuery)代码。骨干.js似乎可以在多页应用程序中使用,但在单页应用程序中却更具光芒。我试图提出使用单页应用程序设计方法的优缺点列表。到目前为止,我有: 好处 所有数据都必须通过某种API才能获得-这对我的用例来说是一个很大的优势,因为无论如何我都希望为我的应用程序提供一个API。现在,大约60-70%的我获取/更新数据的调用是通过REST API完成的。做一个单页应用程序将使我可以更好地测试我的REST API,因为应用程序本身将使用它。这也意味着随着应用程序的增长,API本身也将增长,因为这就是应用程序所使用的。无需维护API作为应用程序的附件。 响应速度更快的应用程序-由于将初始页面之后加载的所有数据保持在最低限度并以紧凑格式(例如JSON)进行传输,因此数据请求通常应该更快,并且服务器的处理量会稍少一些。 缺点 代码重复-例如,模型代码。我将不得不在服务器端(在这种情况下为PHP)和Javascript的客户端上创建模型。 Java语言中的业务逻辑-我无法给出任何具体示例说明为什么这样做会很糟糕,但是我觉得所有人都可以阅读的Java语言中的业务逻辑对我来说是不合适的。 Javascript内存泄漏-由于页面永远不会重新加载,因此可能发生Javascript内存泄漏,而且我什至不知道从哪里开始调试它们。 还有其他一些东西是双刃剑。例如,对于单页应用程序,为每个请求处理的数据可能要少得多,因为该应用程序将要求特定请求所需的最少数据,但是这也意味着可能会有更多的小请求服务器。我不确定这是好事还是坏事。 在决定应该以哪种方式进行项目时,应牢记单页Web应用程序的哪些优点和缺点?

3
AngularJS:使用多个ng-apps构建Web应用程序
Blogosphere上有许多关于AngularJS应用程序结构准则的文章,例如: http://www.johnpapa.net/angular-app-structuring-guidelines/ http://codingsmackdown.tv/blog/2013/04/19/angularjs-modules-for-great-justice/ http://danorlando.com/angularjs-architecture-understanding-modules/ http://henriquat.re/modularizing-angularjs/modularizing-angular-applications/modularizing-angular-applications.html 但是,对于指导原则和最佳实践,我尚未遇到的一种情况是,您有一个包含多个“迷你spa”应用程序的大型Web应用程序,而迷你spa应用程序都共享一定数量的代码。 我并不是指试图ng-app在同一页面上有多个声明的情况;相反,我的意思是大型站点的不同部分具有自己的唯一ng-app声明。 正如Scott Allen在他的OdeToCode博客中写道: 我还没有找到一种很好解决的方案,即在同一更大的Web应用程序中存在多个应用程序,并且需要客户端上一些共享代码的情况。 您是否可以建议任何建议的方法,应避免的陷阱或该场景的良好样本结构? 更新 -9/10/2015一个具有有趣组织策略的项目是MEAN.JS及其modules文件夹。 https://github.com/meanjs/mean https://github.com/meanjs/mean/tree/master/modules 另一个示例来自ASP.NET Music Store SPA示例。 https://github.com/aspnet/MusicStore https://github.com/aspnet/MusicStore/tree/master/src/MusicStore.Spa/ng-apps

2
您如何处理微服务架构中的共享概念?
我正在研究我正在开发的应用程序的体系结构模式,微服务方法似乎是一个不错的选择,但是我不确定如何处理服务之间的交互。 该应用程序主要处理用户,用户拥有的配置文件,照片以及代表照片中一对多配置文件的标签。可以想象有一些方法可以返回用户上传的照片,返回包含特定标记个人资料的照片,等等。 这是我设计基于微服务的体系结构的第一步,而我来自于启发式历史的整体式域模型。在那个世界中,控制器会将这些域对象缝合在一起,但是我很难理解如何以微服务方式工作。

5
仅HTML / JavaScript网络应用程序的优缺点
我来自ASP.NET表单背景,过去发现服务器端编码非常强大。但是,最近,我一直想逐步淘汰前端的服务器端代码,并用纯HTML / JavaScript代替它,后者通过JSON Web服务访问数据。我对此没有任何实际经验,所以我想听听这是否是一个久经考验的模型。另外,围绕它的陷阱是什么? 我发现ASP.NET用户控件非常有用,因此我想通过将标记模板存储在服务器上单独的HTML文件中来保留其理论。这些将分别通过jQuery AJAX和jQuery HTML模板插件检索和使用。 任何输入将不胜感激。 PS:对不起,这个问题很抱歉,但是这种Web体系结构是Web-2.0吗?还是我完全偏离了轨道?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.