我一直在閱讀關於SO,Wikipedia,Google等的「網絡服務」,我不太明白它們是什麼。簡單的英語定義/描述是什麼?什麼是純英文的「網絡服務」?
如果我做一個簡單的網站使用PHP,只是說,打印一個隨機整數的網頁...這是一個「網絡服務」?如果不是,爲什麼不呢?
我一直在閱讀關於SO,Wikipedia,Google等的「網絡服務」,我不太明白它們是什麼。簡單的英語定義/描述是什麼?什麼是純英文的「網絡服務」?
如果我做一個簡單的網站使用PHP,只是說,打印一個隨機整數的網頁...這是一個「網絡服務」?如果不是,爲什麼不呢?
一個簡單的定義:網絡服務是一個可以通過網絡(Http)上的其他程序訪問的功能。爲了澄清一下,當你在PHP中創建一個輸出HTML的網站時,它的目標是瀏覽器,並且通過擴展瀏覽器中的人閱讀頁面。網絡服務不針對人類,而是針對其他計劃。
因此,您的PHP網站,生成一個隨機整數可能是一個Web服務,如果它輸出的格式可能會被另一個程序使用的整數。它可能是XML格式或其他格式,只要其他程序可以理解輸出。
完整的定義顯然更復雜,但你要求純英文。
是的,這是一個簡單的Web服務。
Web服務實際上只不過是一種允許客戶端遠程訪問/修改數據的請求/響應機制。有關於Web服務(SOAP,SOA等)的正式標準,但簡單的頁面也是一項服務。
打印到頁面的主要缺點是您的服務將返回HTML。最好的數據格式是JSON和XML,因爲大多數客戶端框架(和服務器框架)都是使用JSON和XML設計的。
因此,如果您修改您的服務來回報:
<RANDOM>some random number</RANDOM>
而不是:
<HEAD>...</HEAD>
<BODY>some random number</BODY>
那麼這將是更有益的大部分客戶
一個簡單的定義是一個HTTP請求的行爲就像一個正常的方法調用;即它接受參數並返回一個結構化的結果,通常是可以被反序列化成一個或多個對象的XML。
簡而言之,Web服務是通過http協議提供數據作爲服務的東西。當然,情況並非如此......但它很接近。
標準Web服務使用SOAP協議定義消息的通信和結構,XML是數據格式。
Web服務旨在允許使用不同技術構建的應用程序彼此通信而沒有問題。
Web服務的例子就是Weather.com提供您可以在您的網站上使用的天氣信息,或UPS提供請求運輸報價或包裹跟蹤的方法。
編輯
更改措辭參考SOAP,因爲它並不總是SOAP正如我所說的,但想讓它更加清晰。關鍵是將數據作爲服務提供,而不是UI元素。
它不一定是SOAP - 如果你正在談論Web服務(小寫),那麼REST越來越普遍。 – 2008-10-22 15:06:33
非常真實......讓我編輯一下 – 2008-10-22 15:11:13
軟件開發人員使用的Web服務通常是指在遠程服務器上執行並使用XML/SOAP規範調用的操作。與所有定義一樣,它有細微之處,但這是該術語最常用的用法。
Web服務定義服務器將爲您執行的操作合約。格式和協議並不重要,但您應該對通信如何進行定義。
在你的例子中,它取決於,如果在另一個讀取該數字的應用程序中使用它,那麼它是服務,否則,它只是一個帶有數字的網頁。
Web服務與Web站點的不同之處在於,Web服務提供的信息可由軟件而不是人類消費。因此,我們通常談論的是暴露的JSON,XML或SOAP服務。
Web服務是「混搭」中的關鍵組件。混搭是指當許多網站的信息自動彙總成新的有用服務時。例如,有些網站會將Google地圖彙總爲警察報告的相關信息,以便爲您提供所在地區犯罪的圖形表示。另一種混搭方式是將另一個網站提供的真實股票數據與虛假交易應用程序相結合,以創建股票市場「遊戲」。
Web服務還用於提供新聞(請參閱RSS),添加到網站的最新項目,有關新產品的信息,播客以及使現代Web轉向的其他重要功能。
希望這會有所幫助!
簡化的非技術性解釋: Web服務允許程序與網頁交談,而不是使用瀏覽器打開網頁。
示例: 我可以訪問maps.google.com並輸入我的家庭住址,並查看我住在瀏覽器中的地圖。
但是,如果你正在編寫一個計算機程序,你想採取一個地址,並顯示一個漂亮的地圖,就像谷歌地圖?
那麼,你可以從頭開始編寫一個全新的映射程序,或者你可以調用Google地圖提供的Web服務,發送它的地址,它會返回一個位置的圖形地圖,你可以顯示你的程序。
還有很多其他的事情,因爲其他一些帖子會涉及到,但結果是它允許您的應用程序檢索信息FROM或向某些資源提交信息。其他一些例子:
Web服務幾乎和普通的網頁一樣。不同之處在於它們的格式使得程序很容易從頁面獲取數據,甚至可能不使用任何HTML。它們通常對於格式的一致性也更可靠,可以使用不同的形式化過程來定義諸如soap或raw xml等內容,並且通常還有描述符文檔,其正式定義了數據的結構。
操作系統提供了一個可與之交互的GUI(和CLI)。它還提供了一個可以以編程方式進行交互的API。
同樣,一個網站提供了可以與之交互的HTML頁面,並且還可以提供一個API,以編程方式提供相同的信息和操作。或者這些服務可能只能通過沒有關聯用戶界面的API使用。
對於大多數網站,您使用瀏覽器時訪問過HTML頁面。這些是人類可讀的頁面(一次在瀏覽器中呈現),大量數據可能被擠在一起,因爲它對人類有意義。
現在想象別人想要使用某些數據。他們可以下載你的頁面並開始篩選出所有的「噪音」以獲得他們想要的數據,但是大多數網站的構建方式並不是將數據100%確定地放置在所有元素的相同位置,因此除此之外繁瑣也變得不可靠。
輸入網絡服務。
Web服務是網站選擇向想要從您的網站讀取,更新和/或刪除數據的用戶提供的服務。您可能會將其稱爲數據的「後門」。不是將數據作爲網頁的一部分呈現,而是以預先確定的方式提供,其中一些更受歡迎的是XML和JSON。有幾種方式與web服務進行通信,一些使用SOAP,一些使用SOAP,另一些使用RESTful Web服務等。
所有web服務的常見情況是它們是網頁的機器可讀equivelant,提供。這意味着希望使用數據的其他人可以發送請求以獲取某些易於解析和使用的數據。有些網站可能會要求您在請求中提供用戶名/密碼以提供敏感數據,而其他網站則允許任何人提取他們可能需要的任何數據。
最好的純英文解釋來自使用一個比喻:
您的PHP示例是該定義的Web服務,因爲該輸出可能會被另一個程序使用。但實際上,HTML屏幕抓取不是一種可靠或可維護的Web服務生成方式。
一種發送消息以調用另一臺計算機上的操作的方式。 Web服務和以前的方法之間的區別是通過電纜發送的是在更高層次上標準化的。
舊的方式:描述endians,編碼,端口號等 Web服務:URL,XML
Simple way to explain web service is ::
web服務的優點是,說你devel的在.net中運行一段代碼,並且希望使用JAVA來使用此代碼。您可以直接與抽象圖層進行交互,但不知道使用哪種技術開發代碼。
web服務是用於交換應用程序或系統之間的數據開放協議和標準的集合。以各種編程語言編寫並在各種平臺上運行的軟件應用程序可以使用Web服務以類似於單臺計算機上的進程間通信的方式通過計算機網絡(如Internet)交換數據。這種互操作性(例如,在Java和Python之間,或Windows和Linux應用程序之間)是由於使用了開放標準(XML,SOAP,HTTP)。
所有標準的Web服務工程,並使用以下組件:
它的工作原理有點像這樣:
Web Service就像兩個不相關程序之間的通信媒介。這些程序使用指定的協議(通常爲簡單對象訪問協議(SOAP))作爲媒介來理解它們在那裏處理/執行哪個REQUEST/RESPONCE。
Webservice是一種技術,通過它兩個或多個遠程Web應用程序通過網絡/互聯網相互交互。它可以使用Java,.NET,PHP等
Web服務的特點來實現: -
好,
由於@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服務的情況下,流量變化不大的情況下:
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
希望這有助於:)
簡單地說Web服務可以是任何簡單的程序,例如:加應公佈在UDDI,可以通過另一program.WSDL消耗將有兩個號碼定位web服務的端點以及綁定和端口詳細信息。
'網絡服務'由兩個詞'Web'和'Service'組成。
'Web'是什麼? '網絡'是指'萬維網'。
'服務'爲了什麼?不適用於人類,如果是這樣,它是'網頁',如文本,圖像,視頻等。
它適用於程序通過互聯網使用與'Web'相同的技術進行通信,例如TCP,HTTP等。
'服務'也意味着它提供了一些功能,如CRUD中的'服務層'。 主要有兩種類型:
1. SOAP(簡單對象訪問協議)
2.基於REST(表述性狀態轉移)
已經更新了我的答案,以反映。有SO問題不顯示XML/HTML標籤:) – 2008-10-22 15:07:11
校正使它更好( - :Yanking原始評論 – Murph 2008-10-25 13:08:58
謝謝。正是我想到的.XML非常類似於HTML,所以我們所談論的HTML頁面由Web提供服務 – Pavlo 2017-06-27 14:15:41