REST API – “:слово” (например “:предсказать”) против “:порт” (например “:1000”) Как это называется?

Вопрос или проблема

Tensorflow REST URL-адреса выглядят так: http://host:port/v1/models/${MODEL_NAME}[/versions/${VERSION}|/labels/${LABEL}]:predict

Где URL заканчивается на “:predict”, а не на “:1000” — число/порт, как я бы ожидал. Почему это работает? Есть ли другие примерные URL-адреса, которые используют эту схему со словом вместо числа? Мне трудно найти информацию об этой концепции в гугле, поэтому было бы здорово, если бы stackoverflow указал мне на термин, который я пропускаю.

URL-адреса не оканчиваются на порт. Если есть нестандартный порт, этот порт появляется сразу после хоста (домена), но перед путем.

Часть :predict вашего URL-адреса — это просто часть ‘пути’ URL. У нее нет специального значения для URL в общем, но она может иметь специальное значение для конкретного API, с которым вы работаете.

Ответ или решение

REST API – ":word" (например, ":predict") против ":port" (например, ":1000") – это важная тема, которая требует детального анализа. Давайте разберем, в чем состоит разница, и почему в некоторых случаях используется окончание, состоящее из слова, а не номера порта.

Что такое REST API?

REST (Representational State Transfer) – это архитектурный стиль, который устанавливает набор принципов для создания веб-сервисов. Он использует стандартные HTTP методы, такие как GET, POST, PUT и DELETE, чтобы управлять ресурсами, представленными в виде URL. Все компоненты RESTful API взаимодействуют через эти ресурсы, которые обычно представляются в формате JSON.

Структура URL

Каждый URL обычно состоит из следующих компонентов:

  1. Протокол (например, HTTP или HTTPS)
  2. Хост (имя сервера или IP-адрес)
  3. Порт (необязательный, например, 1000)
  4. Путь (указывает на ресурс)
  5. Запрос (например, параметры, передаваемые после знака вопроса)

Различие между ":word" и ":port"

  1. ":port" – это стандартный компонент URL, который указывает на специфический порт, используемый сервером для обработки запросов. Обычно, если порт не указан, используется стандартный порт HTTP (80) или HTTPS (443). Например, URL http://example.com:1000 указывает на сервер, прослушивающий порт 1000.

  2. ":word" – это составная часть пути в URL и, как правило, обозначает определенный метод или действие, связанный с API. В вашем примере :predict указывает на специфическую операцию, которую вы хотите выполнить, например, предсказание на основе модели машинного обучения в TensorFlow. Это просто соглашение, принятие словами для обозначения различных операций API.

Почему это работает?

Конструкция с суффиксом :word не является стандартом URL, но между разработчиками API существует стройная практика, которая позволяет использовать такие конструкции для улучшения читаемости и понимания конечных точек. Например, в REST API для обработки запросов могут использоваться такие операции, как :create, :update, :delete и т.д. Это позволяет четко разделять различные действия и упрощает работу с API.

Другие примеры

Другие API также могут использовать аналогичные схемы:

  • GraphQL: путь может содержать запрос на определенные поля.
  • OpenAPI: документация может включать в себя такие конструкции для указания доступных операций над ресурсами.

Заключение

Использование суффиксов формата :word в URL API – это часть удобных соглашений. Особенно это полезно в проектировании API, позволяя разработчикам быстро и интуитивно определять доступные действия. Понимание этой концепции может помочь вам лучше работать с RESTful сервисами и различными API-интерфейсами.

Оцените материал
Добавить комментарий

Капча загружается...