F.A.Q. YourAPI

F.A.Q. YourAPI

yourapi.ru

В данном посте постарались собрать ответы на часто задаваемые вами вопросы:

1. Что такое API?

API (Application programming interface) — это контракт, который предоставляет программа. «Ко мне можно обращаться так и так, я обязуюсь делать то и это».


2. Чем хорош API и где его используют?

Используют для обработки функций на стороне сервера. К примеру, я хочу узнать погоду на Камчатке и делаю запрос на API сервис метео-станции Камчатки. На их сервера. Сервер обрабатывает всю информацию (собирает погоду с окружающей местности) и высылает клиенту. 


3. API-набор функций

Набор функций на удаленном сервере, которые необходимо вызвать. Вызываем функцию - функция начинает работать - клиент получает информацию (результат выполненной функции)


4. Как вызывают API?

API вызываются посредством HTTP запросов (GET, POST ... методы) HTTP - символьно-ориентированный клиент-серверный протокол прикладного уровня без сохранения состояния, используемый сервисом World Wide Web.


5. Зачем нужно API?

На примере банка, это дает возможность выполнять и обрабатывать различные платежи в автоматическом режиме. К примеру можно заполучить баланс своей карты, посредством выполнения запроса на API сервер своего банка. Или отправить деньги куда-либо. 


6. Что умеет YourAPI?

Мы являемся Marketplace'ом (рынком), где могут выставлять свои товары (API) все желающие разработчики API. Например, я разработал API сервис для генерации случайных картинок и хочу зарабатывать на этом. Регистрируюсь на сайте, выставляю свое API и за каждый HTTP запрос получаю деньги. Пользователь получают сгенерированные картинки на моем сервисе - я получаю деньги.

Проект представляет собой Marketplace IT решений, где каждый разработчик сможет зарабатывать на разработанном своем API (https://ru.wikipedia.org/wiki/API) сервисе за определенную награду.  

Пример, для полноты понимания.

Владелец частной метеостанции, имея в наличии неплохой арсенал по прогнозу погоды, задумывает зарабатывать на этом, предоставляя каждому желающему детальную сводку о погоде в определенном регионе. Разработав API (https://ru.wikipedia.org/wiki/API) сервис, где на каждый запрос он возвращает данные по погоде и выставляет данный API сервис на наш Marketplace. Указывает цену, придумывает описание, которое доступно каждому пользователю. К примеру, 1000 запросов бесплатно, а сверх лимита - 20 копеек за каждый последующий. При 10 тысячах запросов в месяц, новостной портал заплатит 1800 рублей владельцу метеостанции, из которых 10 процентов забирает наш Marketplace (180 рублей). После этого, пролистывая наш Marketplace некий новостной портал, назовем его "Заполярье.ру" (название сайта вымышленное), новостной портал - увидев данное предложение заинтересовывается в нем и планирует выставить у себя на портале изображение или сводку с подробной погодой для каждого посетителя своего сайта-портала. Для того чтобы показать подробную погоду своему пользователю, он готов пользоваться данным сервисом по погоде и платить по 20 копеек владельцу метеостанции за каждый запрос сверх лимита в 1000 единиц . 

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


7. Что нового? И открытая Бета

Теперь вы можете поделится во всех социальных сетях нашими проектами.

В III квартале 2020 г. выходим на стадию Бета-тестирования и проект планируется быть бесплатным для доступа и использования, в целях анализа нагрузки и выявления критических багов. Уже сейчас были использованы современные технологии и языки программирования, которые не уступают, а даже превосходят технологии используемые в трех самых крупных банков страны.


8. Что такое HTTP?

HTTP

HTTP — широко распространённый протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов (то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам).

Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». В соответствии со спецификацией OSI, HTTP является протоколом прикладного (верхнего, 7-го) уровня. Актуальная на данный момент версия протокола, HTTP 1.1, описана в спецификации RFC 2616.

Также HTTP часто используется как протокол передачи информации для других протоколов прикладного уровня, таких как SOAP, XML-RPC и WebDAV. В таком случае говорят, что протокол HTTP используется как «транспорт».

API многих программных продуктов также подразумевает использование HTTP для передачи данных — сами данные при этом могут иметь любой формат, например, XML или JSON.

Как правило, передача данных по протоколу HTTP осуществляется через TCP/IP-соединения. Серверное программное обеспечение при этом обычно использует TCP-порт 80 (и, если порт не указан явно, то обычно клиентское программное обеспечение по умолчанию использует именно 80-й порт для открываемых HTTP-соединений), хотя может использовать и любой другой.


9. Как отправить HTTP-запрос?

Для того, чтобы сформировать HTTP-запрос, необходимо составить стартовую строку, а также задать по крайней мере один заголовок — это заголовок Host, который является обязательным, и должен присутствовать в каждом запросе. Дело в том, что преобразование доменного имени в IP-адрес осуществляется на стороне клиента, и, соответственно, когда вы открываете TCP-соединение, то удалённый сервер не обладает никакой информацией о том, какой именно адрес использовался для соединения. Однако фактически сетевое соединение во всех случаях открывается с узлом 212.24.43.44, и даже если первоначально при открытии соединения был задан не этот IP-адрес, а какое-либо доменное имя, то сервер об этом никак не информируется — и именно поэтому этот адрес необходимо передать в заголовке Host.

Метод (в англоязычной тематической литературе используется слово method, а также иногда слово verb — «глагол») представляет собой последовательность из любых символов, кроме управляющих и разделителей, и определяет операцию, которую нужно осуществить с указанным ресурсом. Спецификация HTTP 1.1 не ограничивает количество разных методов, которые могут быть использованы, однако в целях соответствия общим стандартам и сохранения совместимости с максимально широким спектром программного обеспечения как правило используются лишь некоторые, наиболее стандартные методы, смысл которых однозначно раскрыт в спецификации протокола.

URI (Uniform Resource Identifier, унифицированный идентификатор ресурса) — путь до конкретного ресурса (например, документа), над которым необходимо осуществить операцию (например, в случае использования метода GET подразумевается получение ресурса). Некоторые запросы могут не относиться к какому-либо ресурсу, в этом случае вместо URI в стартовую строку может быть добавлена звёздочка (астериск, символ «*»). Например, это может быть запрос, который относится к самому веб-серверу, а не какому-либо конкретному ресурсу. 


10. Как прочитать отчет HTTP-запроса

Версия протокола здесь задаётся так же, как в запросе.

Код состояния (Status Code) — три цифры (первая из которых указывает на класс состояния), которые определяют результат совершения запроса. Например, в случае, если был использован метод GET, и сервер предоставляет ресурс с указанным идентификатором, то такое состояние задаётся с помощью кода 200. Если сервер сообщает о том, что такого ресурса не существует — 404. Если сервер сообщает о том, что не может предоставить доступ к данному ресурсу по причине отсутствия необходимых привилегий у клиента, то используется код 403. Спецификация HTTP 1.1 определяет 40 различных кодов HTTP, а также допускается расширение протокола и использование дополнительных кодов состояний.

Пояснение к коду состояния (Reason Phrase) — текстовое (но не включающее символы CR и LF) пояснение к коду ответа, предназначено для упрощения чтения ответа человеком. Пояснение может не учитываться клиентским программным обеспечением, а также может отличаться от стандартного в некоторых реализациях серверного ПО.


11. Безопасность HTTP-запроса

Сам по себе протокол HTTP не предполагает использование шифрования для передачи информации. Тем не менее, для HTTP есть распространённое расширение, которое реализует упаковку передаваемых данных в криптографический протокол SSL или TLS.

Название этого расширения — HTTPS (HyperText Transfer Protocol Secure). Для HTTPS-соединений обычно используется TCP-порт 443. HTTPS широко используется для защиты информации от перехвата, а также, как правило, обеспечивает защиту от атак вида man-in-the-middle — в том случае, если сертификат проверяется на клиенте, и при этом приватный ключ сертификата не был скомпрометирован, пользователь не подтверждал использование неподписанного сертификата, и на компьютере пользователя не были внедрены сертификаты центра сертификации злоумышленника.

На данный момент HTTPS поддерживается всеми популярными веб-браузерами.

REST - (Representational state transfer) – это стиль архитектуры программного обеспечения для распределенных систем


12. Что такое HTTPS

    HTTPS (Hypertext Transport Protocol Secure) – это протокол, который обеспечивает конфиденциальность обмена данными между сайтом и пользовательским устройством. Безопасность информации обеспечивается за счет использования криптографических протоколов SSL/TLS, имеющих 3 уровня защиты:

шифрование данных. Позволяет избежать их перехвата.

сохранность данных. Любое изменение данных фиксируется.

аутентификация. Защищает от перенаправления пользователя.


13. В каких случаях необходим сертификат HTTPS?

Обязательное использование защищенного протокола передачи данных требует вся информация, касающаяся проведения платежей в интернете: оплата товаров в интернет-магазинах любым способом (индивидуальная платежная карта, онлайн системы платежей и пр.), оплата услуг через интернет-банкинг, совершение платежей в онлайн сервисах (казино, online-курсы и т.п.) и многое другое.

Использовать протокол HTTPS рекомендуется также на сайтах, которые для доступа к определенному контенту запрашивают личные данные пользователей, например, номер паспорта – такие данные необходимо защищать от перехвата злоумышленниками.

Если на вашем сайте используется что-либо похожее, то вам стоит серьезно задуматься над переходом на HTTPS. Поэтому далее мы рассмотрим, что для этого необходимо.


14. Что нужно для перехода сайта на HTTPS?

Работа протокола HTTPS основана на том, что компьютер пользователя и сервер выбирают общий секретный ключ, с помощью которого и происходит шифрование передаваемой информации. Это ключ уникальный и генерируется для каждого сеанса. Считается, что его подделать невозможно, так как в нем содержится более 100 символов. Во избежание перехвата данных третьим лицом используется цифровой сертификат – это электронный документ, который идентифицирует сервер. Каждый владелец сайта (сервера) для установки защищенного соединения с пользователем должен иметь такой сертификат.

В этом электронном документе указываются данные владельца и подпись. С помощью сертификата вы подтверждаете, что:

 Лицо, которому он выдан, действительно существует,

 Оно является владельцем сервера (сайта), который указан в сертификате.

Первое, что делает браузер при установке соединения по протоколу HTTPS, это проверку подлинности сертификата, и только в случае успешного ответа начинается обмен данными.

Сертификатов существует несколько видов в зависимости от:

  •  того, какой уровень безопасности вам необходим,
  •  количества доменных имен и поддоменов,
  •  количества владельцев.

Но это уже тема отдельной статьи. Выдают их специализированные центры сертификации на возмездной основе и на определенный период, поэтому важно не забывать продлевать действие сертификата.


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


Report Page