Web 服务器和 Web 服务之间有区别吗?

Posted

技术标签:

【中文标题】Web 服务器和 Web 服务之间有区别吗?【英文标题】:Is there a difference between a web server and a web service? 【发布时间】:2010-02-05 08:11:02 【问题描述】:

对我来说,这些术语听起来非常相似。真的有区别吗?

【问题讨论】:

你看过***吗? 我们有 *** 的时候你为什么还要看***? 【参考方案1】:

Web 服务将在 Web 服务器上运行。

web server 是一款旨在为网页/网站/网络服务提供服务的软件。例如 IIS、Apache 等等。该名称也可以指运行此软件的硬件。

web service 将在 Web 服务器内运行 - 通常提供 XML 或执行某些操作以响应输入。

来自***:

如今的 Web 服务通常只是可以通过网络访问的应用程序编程接口 (API) 或 Web API

【讨论】:

另外当然,‘web server’也用来定义运行web服务器软件的物理机或虚拟机的角色,通常这样称呼它,“你能不能复制文件上传到网络服务器?”...显然不是指网络服务器守护进程/服务。【参考方案2】:

Web 服务是由 Web 服务器运行并生成一系列 URL 的应用程序,这些 URL 将以旨在由“通用”计算机程序而不是浏览器解析的格式返回其数据.因此,Web 服务可以使用他们想要的任何数据格式(只要双方同意),但通常使用 XML(特别是 SOAP 左右)或 JSON 之类的格式。

【讨论】:

Web 服务不一定依赖于 http 协议,因此不一定在 Web 服务器中运行。这个答案不准确 Web 服务是一个松散的术语,不需要 Web 服务器。例如,WCF 服务用于进程间/机器间通信,支持多种协议,通常不在 Web 服务器上运行,但仍被称为“Web 服务”【参考方案3】:

“网络服务器”和“网络服务”的区别如下:

网络服务器:

是一款在物理机或虚拟机上运行的软件,旨在为网页/网站/网络服务提供服务。 Web服务器使用的传输通道必须是HTTP协议。 接受 HTTP 请求并通过提供 HTTP 响应进行响应。

网络服务:

是由网络服务器运行的应用程序,执行任务并将结构化数据返回给调用程序,而不是浏览器的 html

因此,它可以使用他们希望使用的任何数据格式——可能是 XML、SOAP 或 JSON。

Web 服务使用的传输通道不一定是 HTTP 协议。 主要有两种类型的 Web 服务(在 Microsoft 领域):WCF 和 ASMX。 WCF 服务由 IIS“托管”,而 ASMX Web 服务在 IIS 中运行。

【讨论】:

【参考方案4】:

其中许多答案都是错误的。

虽然 Web 服务器必然是 HTTP 服务器,但 Web 服务只是一种可通过网络获得的服务。由于协议可能不是 HTTP,因此您可以通过邮件或其他协议提供 WebServices,并且您不需要 Web 服务器。

Web 服务使用的传输通道不一定是 HTTP 协议。

术语“Web 服务”也用于指代 SOAP xml 标准,这是一种在 Web 服务调用中对信息进行编码的标准方式。

【讨论】:

关于这个答案中一些细节的问题:***.com/questions/13394592/… you do not need a web server for that 时能否提供更多细节?没有网络服务器可以运行网络服务吗?【参考方案5】:

Web Server的定义

WebService的定义

Web 服务器通常是指在物理机或虚拟机上运行的软件,用于处理 Web 请求(例如,将页面返回给浏览器并执行对 Web 服务的调用)

Web 服务在 Web 服务器中运行,执行任务并(通常)将结构化数据返回给调用程序,而不是浏览器的 html。

【讨论】:

【参考方案6】:

简而言之:

Web 服务是可以通过网络(例如 Internet)访问的应用程序。 Web 服务器是通过 HTTP 传递内容的程序。

因此,如果您希望通过 Internet 访问您的 Web 服务,您需要在 Web 服务器上进行设置。

我们是否需要过于技术化?

【讨论】:

是否存在“too 技术”?当然不是这样!【参考方案7】:

也许从底层技术的角度来看并没有太大的区别(请求-响应通过一个通道),但目的使含义多样化:

Web 服务器通常是指为用户提供网页内容。 Web 服务是指可通过标准 Web 协议调用的 API。

当然,现在随着 Web 3.5 的到来,短语之间的边界变得模糊;)

【讨论】:

【参考方案8】:

我希望对你有用:

“Web 服务器”是用于编译和运行网站的服务器应用程序(如 Microsoft IIS 或 Apache)或“Web 应用程序”。 “网络服务器”也可以托管一些“网络服务”。

“Web 服务”是安装在“Web 服务器”上的组件。这些组件可以由网站或使用 HTTP 请求的“Web 应用程序”调用。

如果您想了解更多信息,请查阅 MSDN,搜索“网络服务”字符串

再见

【讨论】:

【参考方案9】:

要添加到给定的答案,询问“Web 服务和(由服务器创建的)网页之间有什么区别”会更有意义。

技术上没有。他们都在请求后输出一些类似 XML 的东西。

【讨论】:

【参考方案10】:

服务器是发送用户 HTTP 请求和托管 Web 项目的“机器”,还包括 Web 服务。

【讨论】:

【参考方案11】:

Web Service 是一种特定类型的 Web 服务器,它(通常)提供一组任意客户端都可以调用的方法:类似于远程 API 机制。

Web 服务器只是一个通用术语,它不仅包括 Web 服务,还包括 http 服务器等。

【讨论】:

【参考方案12】:

来自***:

网络服务器是一种计算机程序,它使用超文本传输​​协议交付(服务)内容,例如网页。

如今的 Web 服务通常只是应用程序编程接口 (API) 或 Web API,可以通过网络(例如 Internet)进行访问,并在托管所请求服务的远程系统上执行。

虽然两者都是某种计算机程序,但目的不同。 Web 服务器有一个特定的目的来提供 Web 内容,而 Web 服务可以发挥更广泛的作用。

【讨论】:

“Web 服务器具有交付 Web 内容的特定目的,而 Web 服务可以发挥更广泛的作用”嗯? Web 服务器也恰好为 Web 服务应用程序提供服务。当前者是在后者上运行的特定类型的应用程序时,无法理解如何说 Web 服务比 Web 服务器发挥更广泛的作用。【参考方案13】:

因为还没有人提到它,所以有两种类型的 Web 服务(在 Microsoft 领域):WCF 和 asmx。 WCF 服务由 IIS“托管”,asmx webservices 在 IIS 中运行。 WCF 服务也可以由单独的自包含服务托管(您仍然可以使用 HTTP 连接到它)。

Webservices 是一个很大的主题,你真的应该开始somewhere like here。

【讨论】:

【参考方案14】:

没有确切的区别,但在使用这些术语的上下文中,这就是它们的意思:

Web 服务器 一词用于表示为与浏览器之间的通信而编写的软件,最终通过浏览器(HTML/JS/图像/视频)提供人类可读的内容。 另一方面,Web 服务 旨在用于计算机之间的通信(人类不会消费最终结果,而计算机会消费),例如本地移动/桌面应用程序、单点登录。它们通常输出 JSON 或 XML 文档。

从开发人员的角度进一步简化它。如果您生成 HTML 作为响应,则它是一个 Web 服务器。如果您的响应是 JSON 或 XML 文件,则它是 Web 服务。

【讨论】:

【参考方案15】:

据我所知,“Web 服务”是一个提供特定功能的编程组件,而“Web 服务器”要么是运行软件以满足 Web 服务需求的机器,要么是软件本身。

【讨论】:

【参考方案16】:

Web 服务器是一个接受 HTTP 请求并通过给出 HTTP 响应来响应的程序。

Web 服务是一种软件系统,旨在帮助机器与机器交互或通过网络从一个 Web 应用程序到另一个 Web 应用程序。

【讨论】:

以上是关于Web 服务器和 Web 服务之间有区别吗?的主要内容,如果未能解决你的问题,请参考以下文章

Web服务和Web应用程序之间的区别

Java Web 应用程序和 Java 网站之间有区别吗? [复制]

WCF、Web API、WCF REST 和 Web 服务之间的区别?

Web API 和 Web 服务有啥区别?

网站和Web应用程序之间的区别? [复制]

HTTP 与 FTP 有啥区别?