网站和Web应用程序之间有什么区别?[关闭]


279

我很想尝试自己解决网站和网络应用程序之间的差异。正如我所看到的,网站指向特定页面,而Web应用程序更像是内容和信息的“门户”。

但是我遇到的问题是,仍然可以通过浏览器来查看Web应用程序(不是吗?),并且网站仍然可以动态查看内容,从而使网站和应用程序之间的界线变得非常灰暗。

例如,使用ASP.NET或AJAX等的网站是否会成为Web应用程序,因为它可以动态和异步地检索数据,或者使用PHP和CMS的网站更像是Web应用程序,因为它可以根据请求形成页面?应客户的要求及其数据库中的内容?

也许我在这里完全错了-Web应用程序和网站之间有什么区别?


76
几千美元。
科迪·格雷

41
等同于手机和智能手机之间的区别。
darioo 2012年

1
因此,基本上,Web应用程序是另一个应用程序的子集?
Prusprus 2012年

13
我认为它更像是网站是Web应用程序的子集。
肖恩·贾纳斯

Answers:


254

这完全是个人和主观的,但是我想说,网站是由其内容定义的,而Web 应用程序是由其与用户的交互定义的。也就是说,一个网站可以合理地由一个静态内容存储库组成,该存储库已分发给所有访问者,而Web应用程序则依赖于交互,并且需要程序化的用户输入和数据处理。

例如,新闻站点将是“网站”,而电子表格或协作日历将是网络“应用程序”。新闻网站向所有访问者显示基本上相同的信息,而日历处理单个数据。

实际上,大多数内容快速变化的网站也将依赖于复杂的程序化(和/或数据库)后端,但至少在原则上它们仅由输出定义。另一方面,Web应用程序本质上是一个远程运行的程序,并且从根本上取决于处理和数据存储后端。


11
stackoverflow.com是一个网站。Facebook通知系统是一个网络应用程序
Sanjay 2013年

55
This is totally personal and subjective-100%正确;我认为stackoverflow.com是一个应用程序,因为它依靠用户的输入来执行特定任务(提供编程问题的答案),而不是一个实体的输入来控制它的内容。
Goldentoa11

3
@ Goldentoa11,这样就可以使整个facebook.com都成为一个Web应用程序。
ArchNoob

1
这是“个人和主观的”,足以使我不同意stackoverflow.com由其输出定义的观点。
SOFe

1
这完全是个人和主观的-我完全同意Goldentoa。网站由大多数纯粹的静态操作组成。而应用程序是为网站内容提供高级功能的一组功能。
塞缪尔·拉姆赞

192

网站主要是信息性的。从这个意义上讲,http://cnn.comhttp://php.net是网站,而不是Web应用程序。

Web应用程序主要允许用户执行操作。 Google Analyticsgmailjslint是Web应用程序。

它们不是完全排他的。 一个大学的网站可能会提供诸如位置,学费,可用课程等信息;它将可能具有允许教师管理成绩和课程材料的网络应用程序,以及允许学生注册和退出课程的应用程序,等等。


2
网站甚至可以托管Web应用程序。但我喜欢您在网上进行的应用程序比喻:)
hakre 2012年

3
我认为Google是一个webapp。它在用户交互时提供信息。通过这个场景我们可以说谷歌是一个网络应用程序。
Nur Rony

2
好一个。根据您的回答我的理解是,堆栈溢出是一个we应用程序。它允许用户添加,编辑,删除,投票,否决问题。请让我知道我是否正确?
Gibbs

1
“(...)从您的答案来看,堆栈溢出是一个we应用程序。它允许用户添加,编辑,删除,支持投票,否决问题。请让我知道我是否正确?” ---没错,SO是我们的应用程序。
丹尼尔(Daniel)

好的答案,那解决了我的困惑,网站专注于内容,应用专注于用户交互。
朱利安89757年

52

如果您声称这是一个网络应用程序,则可以向客户收取更多费用:)

说真的,这条线很好。从历史上看,Web应用程序是在服务器上带有代码和/或脚本(在Perl / CGI,PHP,ASP等中)的网站,而站点是具有静态页面的网站。当前,每个人和他们叔叔的猫都在运行论坛,访客留言簿和CMS-都是服务器代码。

另一个区别是在主题方面。如果是行业解决方案,那么它就是一个应用程序。如果它是面向消费者的-他们称其为网站。尽管从技术角度来说,还是差不多的。


1
这条线并不稀疏,为了提供信息性目的而开发静态或适度动态的网站,即通过单一输入操作来消沉内容,而不是让网站内容处理诸如注册,确认,数据编辑,计划之类的复杂任务,这是不同的,自动响应,发布,显示按需内容和其他内容,就像任何桌面应用程序一样,然后说数千小时的后端编程画了一条线。
塞缪尔·拉姆赞

23

没有真正的“差异”。Web站点是一个较不合时宜的术语,它出现在Internet的早期,当时动态应用程序可以响应用户输入的概念受到的限制更加有限,而且不那么普遍。商业网站最初主要是作为交互式小册子(值得注意的是酒店/航空公司预订网站除外)。随着时间的流逝,它们的功能(和支持技术)变得越来越敏感,并且您在计算机上安装的应用程序和存在于云中的应用程序之间的界限变得越来越模糊。

如果您只是想在谈论自己的建筑时表达自己的意思,我会继续将交互式小册子或名片作为“网站”进行描述,而实际上将*做起来更像是作为Web应用程序的应用程序。

最基本的区别是,如果一个网站有一个支持数据库,该数据库存储用户数据并根据某些用户指定的条件修改用户看到的内容,则它可能是某种类型的应用程序(尽管我不愿将Amazon.com描述为网络应用程序,即使它具有很多非常特定于用户的功能)。另一方面,如果大多数静态.html文件相互链接,那么我将其称为网站。

如今,最常见的情况是,Web应用程序的大部分功能都以在客户端上运行的某种方式编写(通过javascript或actionscript进行很多处理,具体取决于其实现方式)并通过一些http进程进行回溯到服务器以支持数据。用户不会在页面之间移动太多,而在一个为他们创建应用程序体验的“页面”上体验他们将要体验的一切。


我认为这里的评论不是解决此类问题的最佳途径。我建议将quora.com作为发布此类问题的好地方。但是,“正确”的答案是-如果您提出这样的问题,那么您应该寻找可以帮助您构建所构建内容的人。合适的人/团队会根据您的需求为您提供建议,并建立您所需要的。
Yevgeny Simkin

20

根据两个功能的技术差异:
1.完成“工作”的地方
2.向/从服务器传输的内容

Web应用
1.在浏览器(JavaScript)上完成“工作”
2.在服务器之间
进行数据传输比较:更快

网站
1.“工作”(大部分)在服务器上完成
2.呈现的页面(数据+ UI)正在从服务器上传输
比较:SEO更容易


3
如果工作是在客户端完成的,则不会使其成为Webapp。即使是静态网站,也可以使用javascript进行大量渲染工作。现代体系结构合并了繁重的客户端处理。它不会成为一个web应用程序
Barath Ravikumar

18

就像威士忌和苏格兰威士忌一样,所有Web应用程序都是网站,但并非所有网站都是Web应用程序。

Web应用程序或Rich Internet Applications是一个网站,除了显示内容外,它还具有业务逻辑。它用于用户交互,执行实际的业务功能。与网站(即博客和新闻网站)相比,Web应用程序提供了更丰富的用户体验

应用程序的用例始终是用它来做某事

-Christian Heilmann(Mozilla公司首席开发宣传员)


10

两者都是“网站”(网络上的网站)。因此,我建议,如果以不同的方式措词,这个问题将更容易回答。“根据某些特定的'用户'或'客户'的观点,以显着方式转换数据或信息的网站与没有转换的网站之间有什么区别?”

由此可以更容易地看到,我们所谓的Web应用程序是一个位于Web站点上的系统,该系统接收输入,对输入进行操作以转换输入并为某些特定客户或用户产生价值的输出。

另一件事更像是海报或小册子。至少对大多数观众来说。与使用DTP软件创建小册子的方式相同,仍然可以通过某种CMS或博客软件来管理小册子站点。对于该站点的所有者而言,CMS是Web应用程序,但对于一般公众而言,同一站点可能被视为简单的手册(或“网站”)。


8

网站可能只是静态内容-Web应用程序将具有动态内容。这是一条非常模糊的线。


3
不总是。网站也可以包含动态内容,而Web应用程序也可以包含静态内容。
Joshua Partogi

3
几乎所有的Web应用程序都具有像这样的静态内容-FAQ对于所有实际目的都是静态的。
菲利普·施卢普09年

8

语义...。通常,网站包含静态HTML页面,并且Web应用程序执行某种类型的工作。例如,房地产经纪人的网站可能会提供有关房地产经纪人的信息,其中房地产经纪人的Web应用程序可能会列出当前属性并管理房地产经纪人本身的联系信息。


7

我们知道什么是“站点”和“应用程序”,所以我们只剩下Web

现在,Web应用程序可能是整个网站的一部分。网站包含Web应用程序。尽管通常您会看到一个网站只有一个Web应用程序。

例如,您有一个iPhone 设备(与网站相比),其中可能包含不同的应用程序:播放音乐,视频,Web浏览器等。


7

Web应用程序是动态网站。

根据维基百科,网站是此范例的抽象术语。

一个网站,也可以写成的网站,或者干脆网站,是一组相关的网页通常从一个单一的网络域名服务。网站托管在至少一个Web服务器上,该服务器可通过互联网(例如Internet或专用局域网)通过称为统一资源定位符(URL)的Internet地址访问。所有可公开访问的网站共同构成了万维网。(来源:http : //en.wikipedia.org/wiki/网站

因此,Web应用程序是一种类型的网站,无论其用途如何,实际上是动态网站,但该网站实际上并不是Web应用程序。

在我看来,所有现代网站都是Web应用程序,包括CMS。世界上还有人仍然在编写手动静态html文件吗,我不这么认为。即使某些网站的静态页面很少,但是如果它们是通过CMS动态创建的,则它绝对是CMS Web应用程序。

阅读更多:

  1. http://en.wikipedia.org/wiki/Web_application
  2. http://en.wikipedia.org/wiki/网站

6

Web应用程序是托管在Internet上的应用程序。它可以在网站上具有前端或用户界面。

希望能有所帮助。


6

Web应用程序是用户通过内部网络或通过Web浏览器通过Internet访问的软件程序。最广泛使用的Web应用程序之一就是Google Docs,它可以利用Microsoft Word的大多数功能。它是免费的,易于在任何位置使用。

另一方面,网站是文档的集合,可以通过Internet通过Web浏览器访问这些文档。网站还可以包含Web应用程序,使访问者可以完成在线任务,例如:搜索,查看,购买,结帐和付款。


6

我不确定对此是否有绝对权威的答案,但是您可以将其视为请求到达Web服务器时发生情况的区别。可以通过让服务器返回已完成的文件(静态内容)来满足该请求,也可以将请求传递给生成回传给浏览器的响应的应用程序(动态内容)。

这两种类型都将称为网站,但是只有具有应用程序生成内容的类型才会被称为Web应用程序。

如何编写应用程序是无关紧要的。它可能是ASP,PHP,Ruby,JavaScript甚至是C或C ++。


5

我说一个网站可以是一个Web应用程序,但是一个网站通常具有多个Web应用程序。两者之间的关系是组成之一:由应用程序组成的网站。

约会网站可能有照片上传网络应用程序,还有日历应用程序,因此您可以标记与谁约会的时间。

这些应用程序嵌入整个网站。


5

Web应用程序是网站,就像正方形是矩形一样。

应用程序部分是模型控制器组合。Web部件(视图)就是为什么它有资格成为网站。

仅仅是网站而不是Web应用程序的东西只是缺少动态方面。

当然,可能很难决定需要多少服务器端处理才能将其限定为Web应用程序。可能有数据存储时。

因此,您对webapps的主要角色感到困惑。网站的主要作用是提供信息。Web应用程序的主要作用是使用动态内容进行通知(“做某事”部分)。


所以您告诉我,前端技术(html,css,javascript)进入网站部分,而后端技术(php,mysql)进入Web应用程序part.side.right吗?
muneeb_ahmed '18

5

当您发布预编译的代码时,Web应用程序的性能更好,该代码已100%成功编译。

同时,网站具有更好的可维护性,因为您可以轻松地更改代码,并且更改无需任何构建即可立即生效,在这种情况下,首次调用该页面时将对其进行编译,这可能会导致编译错误或在每次调用页面时崩溃。每个人都有自己的优点和缺点

此处检查差异,有助于进一步了解两者。


4

根据一般的研究和理解,如今,几乎可以通过浏览器访问的所有内容实际上都称为“ Web应用程序”。甚至您家里的互联网路由器都是一个使用HTTP协议访问该应用程序的Web应用程序(即与您“交互”的应用程序)。是的,除了向您展示内容外,很多网站都“不做”。但是,在我们生活的时代,一切都基于Web应用程序运行。Natwest PLC银行有一个网站,您可以在其中找到natwest作为消费/高街银行提供的内容。然而:

1)您可以创建您的网上银行帐户-Web应用程序2)查看,修改个人资料的详细信息-Web应用程序3)管理资金-Web应用程序4)交易股票/股票-Web应用程序

另一个很好的例子是Fidelity.com(在网上许多其他例子中都引用过)。

我不得不争论说,有两个答案:

1)如果您的目的仅仅是向听众提供一些永远不需要任何互动的内容,那么网站就是您的答案。则它不是Web应用程序。

2)如果您生活在当前/现代的世界中,即拥有一个个人站点,让人们看到您的某些/全部/没有特别的东西,保护自己免受人/机器人/等的侵害,Web应用程序和网站也是如此。


4

两者的功能和性能相似,但在以下方面仍然有所不同。

Web应用程序:

  1. 我们不能在单个Web应用程序中包含C#和VB页面。

  2. 我们可以在多个项目之间建立依赖关系。

  3. 部署后无法重新编辑而不编辑单个文件。

  4. 企业环境的正确选择,在该环境中,多个开发人员可以共同工作以创建,测试和部署。

网站:

  1. 可以在单个网站中混合使用VB和C#页面。
  2. 无法建立依赖关系。
  3. 部署后编辑单个文件。
  4. 由一名开发人员负责创建和管理整个网站的正确选择。
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.