кодов ответа на HTTP-запрос | Dev Center

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

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

В таблице ниже перечислены стандартные коды ответов HTTP, которые имеют особое значение в контексте связи с агентами имп. Коды, начинающиеся с цифры 4, будут автоматически сгенерированы Electric ImpimpCloud™, а коды, начинающиеся с цифры 5, будут сгенерированы веб-браузером или HTTP-подсистемой мобильной ОС.

Если код состояния находится в диапазоне от 0 до 99, при отправке запроса произошла ошибка. Такие ошибки в настоящее время такие же, как сообщения об ошибках libcurl. Например, код состояния == 3 означает, что URL-адрес был искажен, а код состояния == 6 означает, что имя хоста не будет разрешено. Однако это может измениться в будущем, поэтому не пишите код агента, который зависит от определенных значений, имеющих определенные значения.

Агент также может отправлять эти коды, используя метод API imp httpresponse.send() . Этот метод принимает два параметра: целое число для отправляемого кода состояния и строку, содержащую соответствующее описание состояния. Ваш код может отправлять уникальные строки для настройки стандартных кодов ответов HTTP для вашего приложения. Все HTTP-запросы, отправленные вашему агенту, должны завершаться вызовом httpresponse.send() , который также закрывает соединение между приложением или веб-сайтом и агентом.

См. Руководство разработчика «Эффективная связь между Интернет-агентом и устройством», в котором подробно рассматриваются передовые методы управления обменом данными между приложениями, агентами и устройствами.

Код

Значение

Описание 90 003

Предлагаемое решение

403 Перезапуск агента Как правило, код «доступ запрещен», 403 здесь указывает, что агент находится в процессе перезапуска и поэтому не может обрабатывать входящие HTTP-запросы в настоящее время. Подождите немного и попробуйте снова отправить запрос агенту.
404 Нет обработчика HTTP/
агент отключен
Это стандартный HTTP-код «не найден» для отсутствующего ресурса. В случае импа это указывает на то, что агент, с которым вы общаетесь, не имеет функции обработчика HTTP-запросов, что такая функция не зарегистрирована в агенте или что агент больше не работает. Агенты продолжают работать, когда устройство отключается. Однако, если устройство находится в автономном режиме более 30 дней, его агент будет отключен.
См. документацию по API, чтобы узнать, как написать и зарегистрировать подходящий обработчик HTTP-запросов. См. также The Interactive imp.
413 Слишком большой размер запроса Electric Imp impCloud в настоящее время устанавливает максимальный размер 1 МБ* для стандартных агентов разработчика, включая код, любые данные, которые требуются агенту, и входящие HTTP-запросы. Ваше приложение или веб-страница получат этот код, если ваш запрос превысит доступное хранилище после того, как агент занял столько 1 МБ, сколько ему нужно. Проверьте размер HTTP-запроса, который делает ваше приложение или веб-страница. При необходимости разделите данные на несколько запросов. Подумайте, отправляете ли вы больше данных, чем требуется агенту.
 
Коммерческие пользователи, которым требуется более 1 МБ пространства для агента, должны связаться с [email protected]
429 Превышен лимит скорости Вы слишком быстро отправляете агенту слишком много HTTP-запросов. ImpCloud Electric Imp в настоящее время* принимает не более десяти запросов в секунду, добавляя их в пул до 20 одновременно открытых подключений. После того, как будет открыто 20 подключений, запросы больше не будут приниматься, пока не будут закрыты более старые. Подумайте, не делает ли ваше приложение или веб-страница больше запросов, чем нужно, или делает их слишком часто.
 
Слишком много открытых соединений в игре? Агент должен закрыть открытые соединения с помощью вызова API httpresponse.send() . Соединения будут оставаться открытыми до тех пор, пока не будет вызван httpresponse.send() .
504 Время ожидания агента Агент не ответил своевременно. ImpCloud Electric Imp автоматически закрывает открытые соединения после десяти минут бездействия. Ваш код агента может тратить слишком много времени на обработку данных перед возвратом ответа: отправьте подходящий ответ с помощью вызова API httpresponse. send() перед обработкой данных или перед их пересылкой на устройство или в веб-службу.
 
Соединения будут оставаться открытыми до вызова httpresponse.send() , поэтому важно включить этот вызов в свой код.
 
Неперехваченные ошибки также могут препятствовать ответу агента.

 
*Electric Imp оставляет за собой право изменять эти ограничения в любое время по своему усмотрению, с уведомлением или без него, хотя Electric Imp постарается уведомить Клиента о любых таких ограничениях, описанных в этом разделе.

Как сгенерировать код CSR (запрос на подпись сертификата) — SSL-сертификаты

Как сгенерировать код CSR (запрос на подписание сертификата)

Что такое CSR?

Код CSR (запрос на подпись сертификата) — это специальный код, который является неотъемлемой частью активации SSL. Он содержит информацию о названии сайта и контактные данные компании. По многим причинам код должен создаваться на стороне хостинг-сервера. На некоторых серверах это обязательное условие.

Примечание : Многие хостинг-провайдеры предлагают своим клиентам помощь в создании кода CSR, где это возможно. Таким образом, стоит уточнить у хостинговой компании, предоставляют ли они такую ​​услугу и доступна ли она на вашем хостинг-плане.


Инструкции по генерации CSR

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

  • cPanel
  • Apache OpenSSL/ModSSL/Nginx/Heroku
  • WHM
  • Tomcat (с помощью keytool)
  • Plesk 12
  • Plesk Onyx 90 148
  • IIS 7
  • IIS 8 и 10
  • DirectAdmin
  • Exchange 2007 (PowerShell)
  • AWS
  • Synology NAS
  • Vesta CP
  • Mac OS X Server/Yosemite/El Capitan
  • Mac OS через связку ключей
  • Sun Java System Web Server 7. x
  • Вебмин
  • Node.js
  • Exchange 2013 (EAC)
  • Exchange 2013 (Shell)
  • Exchange 2010
  • Glassfish
  • Zimbra
  • Google Cloud Service
  • с использованием MMC/Certreq/Powershell на сервере под управлением Windows
  • SonicWall
  • Citrix NetScaler VPX
  • CWP 7
  • Certreq
  • Приложение Namecheap EasyWP
  • Unifi
  • ISPConfig
  • 90 147 Windows с OpenSSL

    Примечание : Коды CSR должны иметь размер ключа не менее 2048 бит.

Примечания о формировании CSR

Если вы не видите свой тип сервера в списке выше, нажмите на эту ссылку, чтобы получить советы , чтобы сгенерировать CSR , предоставленный центром сертификации Sectigo (CA).

В качестве альтернативы для создания CSR можно использовать следующий онлайн-инструмент: https://decoder.link/csr_generator. Обязательно сохраните коды CSR и закрытого ключа, так как последний потребуется для процесса установки сертификата на сервере.