⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ консоли управлСния IIS ΠΈΠ»ΠΈ Apache ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ вСрсии ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Π΅Π±-сСрвСра. ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ настройки ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ всСгда слСдуСт ΡΠ²Π΅Ρ€ΡΡ‚ΡŒ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ для вашСй вСрсии.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° соврСмСнных ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π· ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с внСшними рСсурсами. HTTP-сСрвис Π² экосистСмС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ являСтся стандартным ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌ вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² Ρ€ΠΎΠ»ΠΈ сСрвСра ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ запросы ΠΎΡ‚ сторонних ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм ΡƒΡ‡Π΅Ρ‚Π°. Π­Ρ‚ΠΎ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ для построСния микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ REST API.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ создания сСрвиса начинаСтся Π½Π΅ с написания ΠΊΠΎΠ΄Π°, Π° с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ инфраструктуры. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π½Π° сСрвСрС установлСн ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ настроСн Π²Π΅Π±-сСрвСр (IIS для Windows ΠΈΠ»ΠΈ Apache для Linux), Π° Ρ‚Π°ΠΊΠΆΠ΅ установлСн ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ web-сСрвСр 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ. Π‘Π΅Π· этого шага Π΄Π°ΠΆΠ΅ идСально написанный ΠΊΠΎΠ΄ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ доступСн ΠΈΠ·Π²Π½Π΅.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: ΠΎΡ‚ настройки ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² консоли администрирования Π΄ΠΎ написания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² запросов Π½Π° встроСнном языкС. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ GET ΠΈ POST, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с JSON ΠΈ ΠΊΠ°ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ вашСго шлюза Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° инфраструктуры ΠΈ публикация Π±Π°Π·Ρ‹

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом являСтся рСгистрация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π² спискС ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ Π²Π΅Π±-сСрвСра. Π­Ρ‚ΠΎ дСлаСтся Ρ‡Π΅Ρ€Π΅Π· ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ras ΠΈΠ»ΠΈ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ консоль администрирования кластСра сСрвСров 1Π‘. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ, ΡƒΠΊΠ°Π·Π°Π² имя Π²Π΅Π±-прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² URL-адрСсС.

ΠŸΡ€ΠΈ создании ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ критичСски Π²Π°ΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π²Π΅Π±-прилоТСния. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ HTTP-сСрвисов Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ HTTP-сСрвисы ΠΈΠ»ΠΈ Web-сСрвисы Π² зависимости ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡, Π½ΠΎ Ρ‡Π°Ρ‰Π΅ всСго Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ±Π° ΠΏΡƒΠ½ΠΊΡ‚Π°. Π’Π°ΠΊΠΆΠ΅ слСдуСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ настройки ΠΏΡƒΠ»Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² IIS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Integrated, Π° Π½Π΅ Classic.

ПослС настройки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ сСрвиса. Если всС сдСлано Π²Π΅Ρ€Π½ΠΎ, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΏΠΎ адрСсу Π²ΠΈΠ΄Π° http://server/base/hs/myservice Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π° Π½Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ 404. Ошибки Π½Π° этом этапС Ρ‡Π°Ρ‰Π΅ всСго связаны с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ IIS ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎΡ€Ρ‚ΠΎΠ² брандмауэром.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ curl ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Postman для ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ доступности адрСса ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ написания ΠΊΠΎΠ΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ созданиС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ HTTP-сСрвиса resides Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° HTTP-сСрвис. Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ создайтС Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π·Π°Π΄Π°ΠΉΡ‚Π΅ Π΅ΠΌΡƒ синоним ΠΈ URI, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² адрСсной строкС. Π’Π½ΡƒΡ‚Ρ€ΠΈ сСрвиса ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ опСрациям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ свой шаблон URI, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΡƒΡ‚ΠΈ. НапримСр, шаблон GetClient/{ID} ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° прямо Π² адрСсС запроса. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΊΠΎΠ΄ Π½Π° встроСнном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ЗапросHTTP ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠžΡ‚Π²Π΅Ρ‚HTTP.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ URL ΠΈ Ρ‚Π΅Π»ΠΎΠΌ запроса. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΡƒΡ‚ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· свойство ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹URL, Π° Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ POST, Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΈΠ· свойства Π’Π΅Π»ΠΎ. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ этим Π΄Π°Π½Π½Ρ‹ΠΌ β€” частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ошибок парсинга.

Ѐункция ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅Π”Π°Π½Π½Ρ‹Ρ…(Запрос)

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ = Запрос.ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹URL;

IDΠšΠ»ΠΈΠ΅Π½Ρ‚Π° = ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ("ID");

// Π›ΠΎΠ³ΠΈΠΊΠ° Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· рСгистра свСдСний

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠžΡ‚Π²Π΅Ρ‚(Π”Π°Π½Π½Ρ‹Π΅);

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° структуры HTTP-сСрвиса

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π Π°Π±ΠΎΡ‚Π° с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ GET ΠΈ POST

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» HTTP опрСдСляСт нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² взаимодСйствия, Π½ΠΎ Π² 1Π‘ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ GET ΠΈ POST. ΠœΠ΅Ρ‚ΠΎΠ΄ GET ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ состояниС систСмы. ВсС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² строкС запроса, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅.

ΠœΠ΅Ρ‚ΠΎΠ΄ POST ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСр, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для создания Π½ΠΎΠ²Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π΅Π»Π΅ запроса, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ слоТныС структуры, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ JSON ΠΈΠ»ΠΈ XML, Π±Π΅Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π΄Π»ΠΈΠ½Ρ‹ URL.

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² GET Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ эффСктам, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ POST ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ записи Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этого ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ запроса ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ.

  • πŸ“₯ GET: ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ справочников, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса.
  • πŸ“€ POST: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Π°, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° изобраТСния.
  • πŸ”„ PUT: ПолноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ рСсурса (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π΅ΠΆΠ΅, Π½ΠΎ поддСрТиваСтся).
  • ❌ DELETE: Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ.
πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
GET для чтСния Π΄Π°Π½Π½Ρ‹Ρ…
POST для записи Π΄Π°Π½Π½Ρ‹Ρ…
PUT для обновлСния
DELETE для удалСния

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° JSON ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ стандарт ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ β€” это Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹Π΅ срСдства для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π§Ρ‚Π΅Π½ΠΈΠ΅JSON ΠΈ Π—Π°ΠΏΠΈΡΡŒJSON. ΠŸΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ запроса с Ρ‚Π΅Π»ΠΎΠΌ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄Π΅ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² структуру 1Π‘.

Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ соблюдСния стандартов. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Content-Type Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ application/json, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π» ΠΎΡ‚Π²Π΅Ρ‚. ΠšΠΎΠ΄Ρ‹ состояния HTTP (200, 400, 500) Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² сигнализации ΠΎΠ± успСхС ΠΈΠ»ΠΈ ошибкС.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 1Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ UTF-8, Π½ΠΎ явноС ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ… чтСния ΠΈ записи ΠΈΠ·Π±Π°Π²ΠΈΡ‚ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Π΅ΠΉ ΠΈ спСцсимволами. Ошибки ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ часто приводят ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ внСшниС систСмы Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ… Π² JSON ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ всСго Ρ„Π°ΠΉΠ»Π° Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Ссли объСм ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ нСсколько ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚.

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ авторизация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ прСдприятия нСдопустим. РСализация ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ β€” ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ этап Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π‘Π°ΠΌΡ‹ΠΉ простой способ β€” использованиС Basic-Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π³Π΄Π΅ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ запроса. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· свойство Запрос.ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈ Запрос.ΠŸΠ°Ρ€ΠΎΠ»ΡŒ.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ использованиС Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² доступа ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ API, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ…. Π’ этом случаС Π²Ρ‹ сами Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚Π΅ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ валидности Ρ‚ΠΎΠΊΠ΅Π½Π°, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ рСгистру свСдСний ΠΈΠ»ΠΈ внСшнСй систСмС Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Никогда Π½Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Π½Π΅Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ HTTP. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ HTTPS для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Настройка SSL-сСртификата производится Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π²Π΅Π±-сСрвСра (IIS/Apache), Π° Π½Π΅ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ 1Π‘.

ΠœΠ΅Ρ‚ΠΎΠ΄ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ внСдрСния Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ бСзопасности РСкомСндация
Basic Auth Низкая Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ Для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΎΠ²
API Key БрСдняя Высокий Для партнСрских ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ
OAuth 2.0 Высокая ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Для ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… API
IP Whitelist Низкая Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Как Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π·Π°Ρ‰ΠΈΡ‚Ρ‹
Как Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ API бСзопасно?

Π₯Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ рСгистрС свСдСний с ΠΏΡ€Π°Π²ΠΎΠΌ доступа Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для администраторов. Никогда Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ Π² Π»ΠΎΠ³ΠΈ ΠΈΠ»ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° ошибки. РСгулярно ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅ Ρ€ΠΎΡ‚Π°Ρ†ΠΈΡŽ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСрвиса

ΠžΡ‚Π»Π°Π΄ΠΊΠ° HTTP-сСрвисов ΠΈΠΌΠ΅Π΅Ρ‚ свою спСцифику, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ выполняСтся Π² контСкстС Π²Π΅Π±-сСссии, Π° Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ИспользованиС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ процСссу rbag ΠΈΠ»ΠΈ rphost, Π½ΠΎ это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π°Π²Ρ‹ΠΊΠ°.

НаиболСС эффСктивным инструмСнтом являСтся Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΆΡƒΡ€Π½Π°Π»Π° рСгистрации. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ логирования Debug ΠΈΠ»ΠΈ Note для событий, связанных с HTTP-сСрвисами. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ входящиС запросы ΠΈ ошибки выполнСния постфактум.

Π’Π°ΠΊΠΆΠ΅ рСкомСндуСтся Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ собствСнный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ логирования Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². ЗаписывайтС Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ рСгистр свСдСний врСмя запроса, IP-адрСс ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ быстро Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Ссли внСшняя систСма сообщит ΠΎΠ± ошибкС.

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

// Основной ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

ΠžΡ‚Π²Π΅Ρ‚.ΠšΠΎΠ΄Π‘ΠΎΡΡ‚ΠΎΡΠ½ΠΈΡ = 200;

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π—Π°ΠΏΠΈΡΡŒΠ–ΡƒΡ€Π½Π°Π»Π°Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ("HTTP_Error", Π£Ρ€ΠΎΠ²Π΅Π½ΡŒΠ–ΡƒΡ€Π½Π°Π»Π°Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ.Ошибка, , , ОписаниСОшибки());

ΠžΡ‚Π²Π΅Ρ‚.ΠšΠΎΠ΄Π‘ΠΎΡΡ‚ΠΎΡΠ½ΠΈΡ = 500;

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

πŸ’‘

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это 90% успСха Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ HTTP-сСрвиса. Π‘Π΅Π· Π»ΠΎΠ³ΠΎΠ² Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²ΡΠ»Π΅ΠΏΡƒΡŽ.

ЧастыС ошибки ΠΈ оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Одной ΠΈΠ· распространСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ являСтся Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° сСссий. Если ваш HTTP-сСрвис выполняСт Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с записью Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, мСшая Ρ€Π°Π±ΠΎΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ асинхронныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Π½Π΅ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ рост потрСблСния памяти ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… списков. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‡Π½ΡƒΡŽ Π²Ρ‹Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΡŽ), Ссли ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ список ΠΈΠ· тысяч ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ. Π­Ρ‚ΠΎ снизит Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр 1Π‘ ΠΈ ускорит ΠΎΡ‚Π²Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ. Π’ Π²Π΅Π±-срСдС сборка мусора ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ сразу, ΠΈ Π½Π΅Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ ΠΈΡΡ‡Π΅Ρ€ΠΏΠ°Π½ΠΈΡŽ дСскрипторов ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

  • 🚫 Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ тяТСлых запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запроса.
  • ⚑ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ индСксы Π² рСгистрах свСдСний для ускорСния Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ.
  • πŸ“¦ Π‘ΠΆΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ (GZIP) Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π²Π΅Π±-сСрвСра для экономии Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°.
МоТно Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ HTTP-сСрвис Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ 1Π‘?

ВСхничСски это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ рСкомСндуСтся для ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ срСды. Ѐайловая вСрсия Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ кластСризации ΠΈ эффСктивного управлСния сСссиями, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌ ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросах. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ (SQL).

Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Ρ‡Π΅Ρ€Π΅Π· HTTP-сСрвис Π² 1Π‘?

Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ POST с Ρ‚ΠΈΠΏΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° multipart/form-data. Π’ ΠΊΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ свойству Запрос.Π€Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Для ΠΎΡ‚Π΄Π°Ρ‡ΠΈ Ρ„Π°ΠΉΠ»Π° Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠžΡ‚Π²Π΅Ρ‚.ΠŸΠΎΡ‚ΠΎΠΊ ΠΈ установитС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Content-Disposition.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ возвращаСтся ошибка 403 Forbidden?

Ошибка 403 Ρ‡Π°Ρ‰Π΅ всСго ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ выполняСтся запрос, Π² список ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π±Π°Π·Ρ‹ 1Π‘ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΈ ΠΎΠ½ ΠΏΡ€Π°Π²ΠΎ Π½Π° запуск HTTP-сСрвиса. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ настройки Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² самом Π²Π΅Π±-сСрвСрС (IIS/Apache).

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ HTTP-сСрвисом ΠΈ Web-сСрвисом (SOAP)?

HTTP-сСрвисы Π² 1Π‘ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ REST, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с JSON ΠΈ Π±ΠΎΠ»Π΅Π΅ лСгковСсны, Ρ‡Ρ‚ΠΎ идСально для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ соврСмСнных Π²Π΅Π±-интСрфСйсов. Web-сСрвисы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» SOAP, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с XML ΠΈ WSDL, ΠΎΠ½ΠΈ Π±ΠΎΠ»Π΅Π΅ строгиС ΠΈ подходят для слоТных ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ со старыми систСмами.

Как ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ HTTP-сСрвис Π±Π΅Π· внСшнСй систСмы?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ бСсплатныС инструмСнты Π²Ρ€ΠΎΠ΄Π΅ Postman ΠΈΠ»ΠΈ Insomnia. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запросы Π»ΡŽΠ±Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, Ρ‚Π΅Π»ΠΎ запроса ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ простой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° самом языкС 1Π‘, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ HTTPΠ‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, для Π²Ρ‹Π·ΠΎΠ²Π° самого сСбя.