ВЕБ-API ПРОТИВ ВЕБ-СЕРВИСОВ?

Я много искал в Интернете, но до сих пор не понял четкой разницы между веб-сервисами и веб-API? Где-то я читал, что все веб-сервисы являются API, но все API не являются веб-сервисами. Как?

Все, что я знаю, это то, что оба позволяют использовать функциональность других приложений. Может ли кто-нибудь описать мне четкую разницу?


person Hussain M. Rauf    schedule 03.07.2015    source источник
comment
service = компания, api = конкретный способ взаимодействия с компанией. например если ваша служба McDonald's, то API подходит к кассе и заказывает бигмак.   -  person Marc B    schedule 03.07.2015
comment
Вы имеете в виду WebApi от Microsoft или просто Rest Api?   -  person Frankely Diaz    schedule 03.07.2015


Ответы (3)


API (интерфейс прикладной программы) — это интерфейс, через который другая программа может взаимодействовать с программой.

Веб-служба в данном контексте — это одна из программ с API. «Интернет» означает, что он доступен через Интернет, в основном через HTTP. Услуга обычно имеет четко определенную цель.

Например, целью веб-службы даты может быть предоставление текущей даты. API моего сервиса будет иметь единственную «конечную точку»: получить дату. Затем служба реализует этот API. Он каким-то образом извлекает дату и отправляет ее обратно.

person Kris    schedule 03.07.2015
comment
Шлюз API для доступа к веб-службе? Я имею в виду, что веб-сервисы — это логические приложения, а API — это способ доступа к веб-сервисам? Я прав? - person Hussain M. Rauf; 03.07.2015
comment
Да, веб-сервисы — это приложения, которые работают на сервере и ждут запросов. API определяет способ взаимодействия с веб-службой. Я бы не стал называть это шлюзом, потому что этот термин уже используется в другом контексте в ИТ. - person Kris; 03.07.2015
comment
Спасибо, Крис. У меня есть еще один вопрос. Извините, что задаю слишком много вопросов. Я также читал, что веб-сервисам для работы нужна сеть, а API - нет. Чтобы получить доступ к веб-сервисам, нам нужно быть в сети, такой как Интернет, но для API мы этого не делаем. Почему для API нам не нужно быть в сети? - person Hussain M. Rauf; 03.07.2015
comment
API — это очень общий термин. API может быть интерфейсом для любой программы (или части программы), включая веб-службу. Если это веб-служба, то веб-служба должна быть подключена к Интернету. Если API предоставляет интерфейс к другим программам или другим частям той же программы, сеть не обязательно должна быть задействована - соединение может быть предоставлено, например. по ОС. - person Kris; 03.07.2015
comment
Я не знаю API пакета Office. Но я предполагаю, что да. - person Kris; 04.07.2015

Я был в том же путешествии, чтобы узнать разницу между веб-API (не JUST API) и веб-службами.

Во-первых, мы точно знаем, что оба используют Интернет в качестве средства связи, как заявил @Kris.

При просмотре этих двух видео оба служат посредником (официантом в ресторане) для клиента, который просит веб-сервер обработать и доставить ответ.

Когда я искал реальную разницу между ними, обычно в большинстве статей и видеороликов проводилось несвязанное сравнение между веб-службами и API, поскольку они исключали Интернет из веб-API. См. эту статью, например, который содержит заголовок Web API Vs Web Service.... но содержит такие подзаголовки, как:

  • Отличия API от веб-сервиса
  • Плюсы и минусы веб-сервисов по сравнению с сервисом API
  • Веб-сервис против API: подпитываем оба с помощью API-интерфейса Scraping Robot

Единственная разница, которую я смог найти, заключается в том, что мы должны были обсудить это в контексте .NET. Вот сообщение с вопросом , относящееся к этому< /а>.

Подводя итог, веб-службы используются в протоколе SOAP, в то время как веб-API обычно создается с использованием RESTful. Более подробные ответы есть в посте, но в конечном итоге они не отвечают на основной заданный вопрос.

Вывод. Вопрос, поднятый в открытом доступе, не имеет четкого определения разницы между ними, поэтому эти два термина по большей части взаимозаменяемы

person taz mazia    schedule 18.07.2021

Все веб-сервисы являются API. API — это интерфейс прикладного программирования. Но есть автономные API, которые не являются веб-сервисами. Существуют API для всего, от Office до веб-сайтов. API — это просто определенный интерфейс, позволяющий управлять/общаться с некоторым программным обеспечением. Веб-службы просто предоставляют средства подключения через Интернет.

Когда вы говорите об API, которые являются протоколами связи и форматами данных, есть еще что обсудить, но вы поняли основную идею.

person MiltoxBeyond    schedule 03.07.2015