Вы находитесь на странице: 1из 16

HTTP & API

PYTHON
HTTP

• Hypertext Transfer Protocol (HTTP) — это протокол для передачи гипермедиа-документов,


таких как HTML. Он был разработан для связи между веб-браузерами и веб-серверами,
но может использоваться и для других целей.
• HTTP следует классической модели клиент-сервер, когда клиент открывает соединение
для отправки запроса, а затем ждет, пока не получит ответ.
• HTTP — это протокол без сохранения состояния, что означает, что сервер не сохраняет
никаких данных (состояния) между двумя запросами.
• Полный документ реконструируется из различных извлеченных вложенных документов,
например, текста, описания макета, изображений, видео, сценариев и т. д.
ПРОТОКОЛ

• Протоколы в компьютерном мире, безусловно, очень-очень важны, это более или менее
похожи на манеры взаимодействия компьютерных компонентов друг с другом.
• Наш протокол принадлежит к семейству протоколов, которые называются сетевыми
протоколами.
• Этот протокол описывает взаимодействие между двумя компьютерами (клиентом и сервером),
построенное на базе сообщений, называемых запрос (Request) и ответ (Response). Каждое
сообщение состоит из трех частей: стартовая строка, заголовки и тело. При этом обязательной
является только стартовая строка.
• Короче говоря, очень просто: HTTP — это соглашение о том, как гипертекст передается в сети.
ПРОТОКОЛ

• Поскольку мы используем гипертекст в сети, нам нужны некоторые правила, соглашения или как
насчет протокола между всеми сторонами о том, как передается этот гипертекст. Сторон в этой
передаче в основном две. Есть еще много коммутаторов, маршрутизаторов, брандмауэров, но для
нашего общего понимания нам нужно только две вещи: два компьютера!
• Хотите верьте, хотите нет, но на вашем компьютере (или смартфоне, iPod/iPhone/iPad, планшете и т.
д.) где-то установлен протокол преобразования гипертекста. Вместе с набором других сетевых
протоколов, который известен как стек IP, Internet Protocol или модель или архитектура TCP/IP. Как
пользователь, вам не нужно беспокоиться об этом, потому что выбранный вами веб-браузер делает
всю работу и справляется с этим. Браузер отправляет запрос в стек IP, который делает все
остальное. Что касается нашего протокола, он отправляет запрос по сети в соответствии с
правилами, установленными в протоколе.
ПРОТОКОЛ

• На другой стороне сети у нас, по сути, есть не что иное, как ваш компьютер, но
вместо браузера с другим программным обеспечением — веб-сервер. Конечно,
на этом компьютере также установлен HTTP. Здесь протокол связан с этим
программным обеспечением веб-сервера, которое получит запрос и в
соответствии с ним ответит ответом. Этот ответ, опять же в соответствии с
правилами, установленными в протоколе, будет отправлен обратно на ваш
компьютер, где браузер поймет, что происходит, и представит вам ответ.
• Неужели все так просто? Если мы строго говорим о HTTP, то да! Мы не так уж
много должны сделать и, откровенно говоря, можем сделать.
ПРОТОКОЛ

• Для разграничения действий с ресурсами на уровне HTTP-методов и были


придуманы следующие варианты:

• GET — получение ресурса


• POST — создание ресурса
• PUT — обновление ресурса
• DELETE — удаление ресурса
ЧТО ТАКОЕ API ?

• Что такое API? (Интерфейс прикладного программирования)


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

• Пример API
• Когда вы используете приложение на своем мобильном телефоне, оно
подключается к Интернету и отправляет данные на сервер. Затем сервер
извлекает эти данные, интерпретирует их, выполняет необходимые действия и
отправляет обратно на ваш телефон. Затем приложение интерпретирует эти
данные и представляет вам нужную информацию в удобочитаемом виде. Вот что
такое API — все это происходит через API.
API

• Второй пример API


• Представьте, что вы сидите за столиком в ресторане с выбором блюд на выбор.
Кухня – это часть «системы», которая будет готовить ваш заказ. Чего не хватает,
так это важной связи, чтобы передать ваш заказ на кухню и доставить еду
обратно к вашему столу. Вот тут-то и появляется официант или API. Официант
— это мессенджер, или API, который принимает ваш запрос или заказ и
сообщает кухне — системе — что делать. Затем официант возвращает вам ответ;
в данном случае это еда
API

• API также обеспечивает, некий уровень безопасности


• Данные вашего телефона никогда не будут полностью доступны для сервера, и точно так
же сервер никогда не будет полностью открыт для вашего телефона. Вместо этого каждый
обменивается небольшими пакетами данных, делясь только тем, что необходимо —
например, заказывая еду на вынос. Вы говорите в ресторане, что вы хотели бы съесть, они
говорят вам, что им нужно взамен, а затем, в конце концов, вы получаете свою еду.
• API стали настолько ценными, что составляют большую часть доходов многих компаний.
Крупные компании, такие как Google, eBay, Salesforce.com, Amazon и Expedia, — это лишь
некоторые из компаний, которые зарабатывают на своих API. «Экономика API» относится к
этому рынку API.
СОВРЕМЕННЫЙ API

• К API относятся скорее как к продуктам, чем как к коду. Они предназначены для
использования определенной аудиторией (например, разработчиками мобильных
устройств), они задокументированы, и их версии создаются таким образом, чтобы
пользователи могли иметь определенные ожидания в отношении их обслуживания и
жизненного цикла.
• Поскольку они гораздо более стандартизированы, они имеют гораздо более строгую
дисциплину в отношении безопасности и управления, а также отслеживаются и
управляются для обеспечения производительности и масштабирования. Кроме того,
современные API хорошо задокументированы для использования и управления
версиями.
API

• API-интерфейсы имеют разные формы. Это может быть API операционной системы,
используемый для включения камеры и микрофона для присоединения к звонку
Zoom. Или это могут быть веб-API, используемые для действий, ориентированных
на веб, таких как лайки фотографий в Instagram или получение последних твитов.
• Независимо от типа, все API-интерфейсы работают приблизительно одинаково.
Обычно программа-клиент запрашивает информацию или данные, а API возвращает
ответ в соответствии с тем, что мы запросили. Каждый раз, когда мы открываем
Twitter или прокручиваем ленту Instagram, приложение делает запрос к API и просто
отображает ответ с учетом дизайна программы.
REST API

• REST (Representational State Transfer) используется для общедоступных API и


идеально подходит для получения данных из интернета.
API

• При использовании API с Python нам понадобится всего одна библиотека:


requests. С её помощью вы сможете выполнять бо́ льшую часть, если не все,
действия, необходимые для использования любого общедоступного API.
• Pip3 install requests
ДОПОЛНИТЕЛЬНО

• https://ifttt.com/explore - API
• https://www.producthunt.com - API
• https://docs.python.org/3/c-api/index.html – Документация API Python
• https://realpython.com/python-requests/ - Гайд по модулю requests

Вам также может понравиться