什么是简单英语的“networking服务”?

我一直在阅读关于SO,维基百科,Google等的“networking服务”,我不太明白它们是什么。 简单的英语定义/描述是什么?

如果我做一个简单的网站使用PHP,只是,打印一个随机整数的网页…这是一个“networking服务”? 如果没有,为什么不呢?

一个简单的定义:Web服务是一个可以通过Web(Http)上的其他程序访问的function。 为了澄清一下,当你在PHP中创build一个输出HTML的网站时,它的目标是浏览器,并且通过扩展浏览器中的人阅读页面。 Web服务不是针对人类,而是针对其他程序。

因此,如果以另一种程序可能使用的格式输出整数,则生成随机整数的PHP站点可能是Web服务。 它可能是XML格式或其他格式,只要其他程序可以理解输出。

完整的定义显然更复杂,但你要求纯英文。

简单的非技术性解释:Web服务允许程序与网页交谈,而不是使用浏览器打开网页。

例如:我可以访问maps.google.com,然后input我的家庭住址,并查看我住在浏览器中的地图。

但是如果你正在写一个计算机程序,你想要一个地址,并显示一个漂亮的地图,就像谷歌地图?

那么,你可以从头开始编写一个全新的绘图程序,或者你可以调用一个Google地图提供的Web服务,发送它的地址,它会返回一个地图的graphics地图,你可以在程序中显示。

还有更多的东西,因为一些其他的post,但结果是,它允许您的应用程序检索信息,或提交信息到一些资源。 其他一些例子:

  1. 您可以使用Web服务在Amazon.com上检索有关图书的信息
  2. 您可以使用类似的Web服务向Amazon.com提交订单
  3. 您可以创build一个Web服务来允许外部应用程序查找您公司内的产品信息
  4. 您可以创build一个Web服务来允许外部应用程序向您的公司提交订单。

是的,这是一个简单的Web服务。

Web服务实际上不过是一个允许客户端远程访问/修改数据的请求/响应机制。 Web服务(SOAP,SOA等)有正式的标准,但简单的页面也是服务。

打印到页面的主要缺点是您的服务将返回HTML。 最好的数据格式是JSON和XML,因为大多数客户端框架(和服务器框架)都是围绕使用JSON和XML而devise的。

所以,如果你修改你的服务返回:

<RANDOM>some random number</RANDOM> 

而不是:

 <HEAD>...</HEAD> <BODY>some random number</BODY> 

那么对大多数客户来说就会更有用

简而言之,Web服务是通过http协议提供数据的服务。 当然,并不总是这样……但是它很接近。

标准Web服务使用定义消息通信和结构的SOAP协议,XML是数据格式。

Web服务旨在允许使用不同技术构build的应用程序彼此通信而没有问题。

Web服务的例子就是Weather.com提供您可以在您的网站上使用的天气信息,或者UPS提供一种方法来请求运输报价或包裹跟踪。

编辑

参考SOAP改变了措辞,因为它并不总是像我提到的那样是SOAP,但是想更加清楚。 关键是提供数据作为服务,而不是UI元素。

networking服务与网站的不同之处在于,networking服务提供的信息是由软件而非人类消费的。 因此,我们通常会讨论公开的JSON ,XML或SOAP服务。

Web服务是“混搭”中的关键组件。 混搭时,许多网站的信息自动汇总成一个新的和有用的服务。 例如,有些网站会将Google地图汇总成关于警察报告的信息,以便为您提供所在地区的犯罪的graphics表示。 另一种混搭方式是将另一个网站提供的真实股票数据与一个虚假的交易应用程序结合起来,形成一个股市“游戏”。

Web服务也用于提供新闻(请参阅RSS),添加到网站的最新项目,有关新产品的信息,播客以及使现代Web转向的其他重要function。

希望这可以帮助!

对于大多数网站,您使用浏览器时访问了HTML页面。 这些是人类可读的页面(一次在浏览器中呈现),大量的数据可能被挤在一起,因为这对人类来说是有意义的。

现在想象别人想要使用这些数据。 他们可以下载你的页面,并开始滤除所有“噪音”,以获得他们想要的数据,但是大多数网站并不是以某种方式将数据100%确定地放置在所有元素的相同位置,所以另外繁琐也变得不可靠。

inputnetworking服务。

网站服务是指网站select向希望从您的网站上阅读,更新和/或删除数据的用户提供的服务。 你可能会把它称为你的数据的“后门”。 不是将数据作为网页的一部分呈现,而是以预先确定的方式提供,其中一些更受欢迎的是XML和JSON。 有几种方式与Web服务进行通信,一些使用SOAP,另一些使用RESTful Web服务等。

所有networking服务的共同之处在于它们是网站另外提供的网页的机器可读等价物。 这意味着其他希望使用这些数据的人可以发送请求来获取某些易于parsing和使用的数据。 有些网站可能会要求您在请求中提供用户名/密码以获取敏感数据,而其他网站允许任何人提取他们可能需要的任何数据。

最简单的英文解释来源于使用一个类比:

  • 网页允许人们彼此沟通和协作。
  • Web服务允许程序彼此进行通信和协作。

你的PHP例子是一个Web服务的定义,因为输出可能被其他程序使用。 但实际上,HTML屏幕抓取并不是一种可靠或可维护的Web服务生成方式。

Web服务是用于在应用程序或系统之间交换数据的开放协议和标准的集合。 以各种编程语言编写并在各种平台上运行的软件应用程序可以使用Web服务以类似于单个计算机上的进程间通信的方式通过计算机networking(如因特网)交换数据。 这种互操作性(例如,在Java和Python之间,或者Windows和Linux应用程序之间)是由于使用了开放标准(XML,SOAP,HTTP)。

所有的标准Web服务都使用以下组件:

  • SOAP(简单对象访问协议)
  • UDDI(通用描述,发现和集成)
  • WSDL(Web服务描述语言)

它有点像这样:

  • 客户端程序将帐户注册信息捆绑到SOAP消息中。
  • 此SOAP消息作为HTTP POST请求的主体发送到Web Service。
  • Web Service解包SOAP请求并将其转换为应用程序可以理解的命令。
  • 应用程序根据需要处理信息,并以该客户的新唯一帐号进行响应。
  • 接下来,Web Service将响应打包到另一个SOAP消息中,并将其发送回客户端程序以响应其HTTP请求。
  • 客户端程序解压缩SOAP消息以获取帐户注册过程的结果。

Web服务是两个或多个远程Web应用程序通过networking/互联网相互交互的技术。 它可以使用Java,.net,PHP等来实现

Web服务的function: –

  1. 使用Web服务两个或更多系统通过networking交换数据。 数据交换使用XML或JSON。
  2. 任何Web服务都有两部分:部署服务的服务器端和客户端访问服务的客户端部分。 任何Web服务都可以有多个客户端。 当一个旅行门户卖飞机票时。 Portal是客户,Airline是服务器,因为它销售服务。
  3. Web服务可以是同步的,也可以是asynchronous的。Web应用程序可以与许多Web服务交互,但这些Web服务与其客户端Web应用程序松散地耦合。 这意味着父应用程序的任何更改对Web服务几乎没有影响,反之亦然。
  4. Web服务可以带有PDF,Word等附件文件和XML有效载荷。 Java为这种types的Web服务提供了单独的API。
  5. Web服务总是隐藏服务的内部复杂性给客户。 举例来说,一个通过第三方门户销售门票的客机仅通过networking服务收集最终用户信息,并作为回报提供门票。 售票门户不必担心航空公司机票预订系统的内部复杂性。
  6. 一个Web服务可以是火,忘记types或可以返回的东西。 假设一个Web应用程序只想发送一些信息给第三方应用程序。 发送者不需要接收者的任何确认。 在这种types的情况下,我们需要一个消防和遗忘types的Web服务。

软件开发人员使用的Web服务通常是指在远程服务器上执行的操作,并使用XML / SOAP规范进行调用。 正如所有的定义一样,它有细微的差别,但这是这个术语最常见的用法。

操作系统提供了可以与之交互的GUI(和CLI)。 它还提供了一个可以以编程方式进行交互的API。

同样,网站提供了可以与之交互的HTML页面,也可能提供一个API,以编程方式提供相同的信息和操作。 或者这些服务可能只能通过一个没有关联用户界面的API来使用。

Simple way to explain web service is ::

  • Web服务是通过万维网在两个电子设备之间进行通信的一种方法。
  • 它可以被称为程序员用来与服务器通信的过程
  • 为了调用这个过程,程序员可以使用SOAP等
  • Web服务build立在诸如TCP / IP,HTTP等开放标准之上

一个web服务的好处是,比方说你在.net中开发一段代码,并且你希望使用JAVA来使用这个代码。 您可以直接与抽象层进行交互,并且不知道用什么技术来开发代码。


图片

Web服务几乎和普通的网页一样。 不同之处在于它们被格式化,使得程序很容易从页面中获取数据,甚至可能不使用任何HTML。 它们通常对于格式的一致性也更可靠,可以使用不同的forms化过程来定义soap或raw XML等内容,而且通常还有一个描述符文档,正式定义了数据的结构。

发送消息以调用另一台计算机上的操作的一种方法。 networking服务和以前的方法之间的区别是通过电线发送的是在更高层次上标准化的。

旧的方式:描述endians,编码,端口号等Web服务:URL,XML

Web Service就像是两个不相关程序之间的通信媒介。 程序使用指定的协议(通常是简单对象访问协议(SOAP) )作为介质,以了解它们要处理/执行哪个REQUEST / RESPONCE。

好,

正如@ Vincent Ramdhanie所说的,Web服务并不意味着被最终用户看到/使用,而是被另一个程序所使用。 所以你的程序的技术逻辑是:

作为一个正常的程序的情况下

 user on website -> HTML/JS/JQuery etc -> give me a random number ->ur program 

现在

ur program -> generate random number -> generate HTML and encapsulate o/p -> go back to user

但是在Web服务的情况下,stream量会发生一些变化:

user -> my application -> XML/JSON/some other format -> give me a random number ->ur program现在

ur program -> generate random number -> generate XML/JSON/some other format -> my application -> generate HTML and encapsulate o/p -> go back to user

希望这可以帮助 :)

一个简单的定义是一个HTTP请求,就像一个普通的方法调用一样。 即它接受参数并返回一个结构化的结果,通常是XML,可以被反序列化成一个对象。

Web服务定义服务器将为您执行的操作的合约。 格式和协议并不重要,但是你应该有一些关于通信如何发生的定义。

在你的例子中,这取决于,如果在另一个读取该数字的应用程序中使用它,那么它是服务,否则,它只是一个数字的网页。

简单地说,Web服务可以是任何简单的程序例如:添加两个数字,这些数字应该在UDDI上发布,并可以被另一个程序使用.WDL将使端点定位web服务以及绑定和端口细节。