Rest ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² REST API β RESTful Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΡ
ΠΡΠ° ΡΡΠ°ΡΡΡ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ΅ΡΠΈΡ ΠΏΠΎΡΡΠΎΠ² ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ REST API:
Intro to RESTful Web Services
REST ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ REpresentational State Transfer (ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ: Β«ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΒ»). ΠΡΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ API Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅.
ΠΡ ΠΈΠ·ΡΡΠΈΡΠ΅:
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ REST?
REST ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ REpresentational State Transfer. ΠΡΠΎ Π±ΡΠ» ΡΠ΅ΡΠΌΠΈΠ½, ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ Π²Π²Π΅Π΄Π΅Π½ Π ΠΎΠ΅ΠΌ Π€ΠΈΠ»Π΄ΠΈΠ½Π³ΠΎΠΌ (Roy Fielding), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° HTTP. ΠΡΠ»ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² REST ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΠΈΠ»ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HTTP. Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ HTTP.
ΠΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ HTTP
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΡΠΊΡΠΎΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈ Π·Π°ΠΉΠ΄Π΅ΠΌ Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ:
Π Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΡΠ°Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²:
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ:
Π ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π΄ΡΡΠ³ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ:
ΠΠΎΡ ΠΊΠ°ΠΊ ΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ Π²Π΅Π± ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΡΡΡΠ°Π½ΠΈΡΡ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅, Π·Π° ΠΊΡΠ»ΠΈΡΠ°ΠΌΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅ΡΠ΅ΠΉ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌΠΈ Π½Π° ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΡΡ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°Ρ :
ΠΡΠΎΡΠΎΠΊΠΎΠ» HTTP
ΠΠΎΠ³Π΄Π° Π²Ρ Π²Π²ΠΎΠ΄ΠΈΡΠ΅ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ URL-Π°Π΄ΡΠ΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ www.google.com, Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° Π²Π΅Π±-ΡΠ°ΠΉΡ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ URL-Π°Π΄ΡΠ΅ΡΠΎΠΌ.
ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΠΈ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠ²Π΅Ρ. ΠΠ°ΠΆΠ½ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠ°Ρ ΡΡΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ². ΠΡΠΈ ΡΠΎΡΠΌΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ HTTP β Hyper Text Transfer Protocol.
ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π°Π±ΠΈΡΠ°Π΅ΡΠ΅ URL Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΠΎΠ½ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ GET Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ°ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ HTTP-ΠΎΡΠ²Π΅ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ HTML β Hyper Text Markup Language. ΠΠ°ΡΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΠΎΡ HTML-ΠΊΠΎΠ΄ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΅Π³ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΡΠΎΡΠΌΡ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΡΡ Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ΅, ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«SubmitΒ» (ΠΡΠΏΡΠ°Π²ΠΈΡΡ), HTTP-Π·Π°ΠΏΡΠΎΡ POST ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ.
HTTP ΠΈ RESTful Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΡ
HTTP ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ HTTP. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ.
Π Π΅ΡΡΡΡ
Π Π΅ΡΡΡΡ β ΡΡΠΎ ΠΊΠ»ΡΡΠ΅Π²Π°Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HTTP. Π Π΅ΡΡΡΡ β ΡΡΠΎ Π²ΡΠ΅, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΌΠΈΡΡ ΡΠ΅ΡΠ΅Π· Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π±ΡΠ΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
URI ΡΠ΅ΡΡΡΡΠ°
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ RESTful ΡΠ΅ΡΠ²ΠΈΡΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡ ΡΠ²ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘ΠΏΠΎΡΠΎΠ±, ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ ΡΠ΅ΡΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π½Π°Π·Π½Π°ΡΠΈΡΡ Π΅ΠΌΡ URI β ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅ΡΡΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
REST ΠΈ Π Π΅ΡΡΡΡΡ
ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Ρ REST Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΡΠΌΠ°ΡΡ ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ²:
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΡΠΊΡΡΡΡ Π΄Π»Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΌΠΈΡΠ°
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³Π»Π°Π³ΠΎΠ»Ρ, ΡΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ HTTP, Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΡΡΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ.
ΠΠΎΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠ»ΡΠΆΠ±Π° REST:
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ HTTP
HTTP ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°:
ΠΠ΅ΡΠΎΠ΄Ρ HTTP-Π·Π°ΠΏΡΠΎΡΠ°
ΠΠ΅ΡΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² HTTP-Π·Π°ΠΏΡΠΎΡΠ΅, ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Ρ ΡΡΠΈΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ. ΠΠ°ΠΆΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ:
ΠΠΎΠ΄ ΡΡΠ°ΡΡΡΠ° ΠΎΡΠ²Π΅ΡΠ° HTTP
ΠΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΎΡΠ²Π΅ΡΠ΅ HTTP. Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ:
Π Π΅Π·ΡΠΌΠ΅
Π ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΎΠ±Π·ΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ REST. ΠΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ HTTP ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π±Π»ΠΎΠΊΠΎΠΌ REST ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². HTTP β ΡΡΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ² Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΡ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ HTTP ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π½Π° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ . Π Π΅ΡΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ URI, Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΡΡΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π³Π»Π°Π³ΠΎΠ»ΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ HTTP.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ ΡΠ»ΡΠΆΠ±Ρ REST Π½Π°ΠΈΠ»ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠ΅ HTTP, Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΌΠΈΡΡ. REST Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΎΡΠΌΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΠ»ΠΈ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ°.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° REST
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π ΡΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΡΠ΅ΠΉ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ Π²Π΅Π±-ΡΠ»ΡΠΆΠ±Π°ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ SOAP ΠΈ XML-RPC, Π½ΠΎ ΠΏΠΎΡΠ΅ΠΌΡ-ΡΠΎ ΠΏΠΎΡΡΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅Ρ ΠΏΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ (Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ) Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ RESΠ’.
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Ρ ΡΡΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ REST
REST (Representational state transfer) β ΡΡΠΎ ΡΡΠΈΠ»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ World Wide Web, ΠΊΠΎΡΠΎΡΡΠΉ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π²Π΅Π±-ΡΠ»ΡΠΆΠ±. Π’Π΅ΡΠΌΠΈΠ½ REST Π±ΡΠ» Π²Π²Π΅Π΄Π΅Π½ Π² 2000 Π³ΠΎΠ΄Ρ Π ΠΎΠ΅ΠΌ Π€ΠΈΠ»Π΄ΠΈΠ½Π³ΠΎΠΌ, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π°Π²ΡΠΎΡΠΎΠ² HTTP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. Π‘ΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ REST, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ RESTful-ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ.
Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ REST ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΏΡΠΎΡΠ»ΠΎΠ΅ΠΊ. ΠΠ°ΠΆΠ΄Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ URL. ΠΠ°ΠΆΠ΄Π°Ρ URL Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ.
Π ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ:
ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΏΡΠΎΡΠ»ΠΎΠ΅ΠΊ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΠΌ ΠΆΠ΅ Π²ΠΈΠ΄Π΅, ΡΡΠΎ ΠΈ ΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΠ΅. Π’.Π΅. ΠΌΡ Π½Π΅ Π·Π°Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π² XML, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ SOAP ΠΈ XML-RPC, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ AMF, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Flash ΠΈ Ρ.Π΄. ΠΡΠΎΡΡΠΎ ΠΎΡΠ΄Π°Π΅ΠΌ ΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ°ΠΆΠ΄Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ URL β ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ URL ΠΏΠΎ ΡΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ Π΄Π»Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π°Π½Π½ΡΡ . Π’.Π΅. Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΅ΡΡΡ ΠΊΠ½ΠΈΠ³Π° Ρ ΠΊΠ½ΠΈΠΆΠ½ΠΎΠΉ ΠΏΠΎΠ»ΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄ /book/3, Π° 35 ΡΡΡΠ°Π½ΠΈΡΠ° Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ β /book/3/page/35. ΠΡΡΡΠ΄Π° ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΡΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ. ΠΡΠΈΡΠ΅ΠΌ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ /book/3/page/35 β ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ HTML, ΠΈ ΠΎΡΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ Π² Π²ΠΈΠ΄Π΅ jpeg-ΡΠ°ΠΉΠ»Π°, ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Microsoft Word.
ΠΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΡΠ΅ΡΠ²ΠΈΡΠ° β ΡΡΠΎ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ HTTP. Π’Π°ΠΊ Π²ΠΎΡ, Π΄Π»Ρ HTTP Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π°Π΄ Π΄Π°Π½Π½ΡΠΌΠΈ Π·Π°Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²: GET (ΠΏΠΎΠ»ΡΡΠΈΡΡ), PUT (Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, Π·Π°ΠΌΠ΅Π½ΠΈΡΡ), POST (Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, ΡΠ΄Π°Π»ΠΈΡΡ), DELETE (ΡΠ΄Π°Π»ΠΈΡΡ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡ CRUD (Create-Read-Updtae-Delete) ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ 4-ΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, ΡΠ°ΠΊ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GET ΠΈ POST.
ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
GET /book/ β ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΠΊΠ½ΠΈΠ³
GET /book/3/ β ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ½ΠΈΠ³Ρ Π½ΠΎΠΌΠ΅Ρ 3
PUT /book/ β Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ½ΠΈΠ³Ρ (Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΅Π»Π΅ Π·Π°ΠΏΡΠΎΡΠ°)
POST /book/3 β ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ½ΠΈΠ³Ρ (Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΅Π»Π΅ Π·Π°ΠΏΡΠΎΡΠ°)
DELETE /book/3 β ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠ½ΠΈΠ³Ρ
ΠΠΠΠΠΠ ΠΠΠΠΠΠΠΠΠΠ: Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ REST-Patterns, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ΠΌ HTTP-ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡΡ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ POST ΠΈ PUT. ΠΠ΄Π½Π°ΠΊΠΎ, PUT ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΡΠ΅ΠΏΠ»Π΅ΠΉΡΠ° ΠΈΠ»ΠΈ Π°ΠΏΠ΄Π΅ΠΉΡΠ°, Π΄Π»Ρ POST ΡΡΠΎ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ (The POST operation is very generic and no specific meaning can be attached to it). ΠΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΠΈ Π² ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΈ Π² Π²ΠΈΠ΄Π΅ Π΅ΡΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ POST ΠΈ PUT.
ΠΠΎΠΎΠ±ΡΠ΅, POST ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
POST /book/ β Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ½ΠΈΠ³Ρ (Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΅Π»Π΅ Π·Π°ΠΏΡΠΎΡΠ°)
POST /book/3 β ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ½ΠΈΠ³Ρ (Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΅Π»Π΅ Π·Π°ΠΏΡΠΎΡΠ°)
POST /book/3 β ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠ½ΠΈΠ³Ρ (ΡΠ΅Π»ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΠΏΡΡΡΠΎΠ΅)
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡ Π½Π΅ΠΏΡΠΈΡΡΠ½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½Π΅ΠΏΡΠΈΡΡΠΈΠ΅ΠΌ PUT ΠΈ DELETE.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ REST Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Web-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, web-ΡΠ΅ΡΠ²ΠΈΡ β ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π΅ Π² World Wide Web ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎ HTTP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ, Π° ΠΎΠ±ΠΌΠ΅Π½ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ΄Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠΌΠ°ΡΠ° XML. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π² ΡΠ΅Π»Π΅ Π·Π°ΠΏΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅Π³Π΄Π° XML.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ (info) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ 5 Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. Π ΠΈΠΌΠ΅Π½Π½ΠΎ:
GET /info/ (Index) β ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ, Ρ.Π΅. ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π±Π΅Π· ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ .
GET /info/ (View) β ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅.
PUT /info/ ΠΈΠ»ΠΈ POST /info/ (Create) β ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΡΠ΅Π»Π΅ Π·Π°ΠΏΡΠΎΡΠ° Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄Π°ΠΆΠ΅ urlencode. Π PHP ΡΠ΅Π»ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ:
POST /info/ ΠΈΠ»ΠΈ PUT /info/ (Edit) β ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ
DELETE /info/ (Delete) β ΡΠ΄Π°Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ
ΠΡΠ΅ ΡΠ°Π· ΠΎΡΠΌΠ΅ΡΡ, ΡΡΠΎ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ /info/ β ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ (ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ) Π±ΡΡΡ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΎ Π² URL:
/data/4/otherdata/6/info/3/ β¦ ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅.
ΠΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ· ΡΡΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Ρ:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° REST ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ° Π² ΠΏΠ»Π°Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎ Π²ΠΈΠ΄Ρ ΠΏΡΠΈΡΠ΅Π΄ΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΡΡΠ°Π·Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ, Π½Π΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ SOAP, XML-RPC). ΠΠ°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»ΠΎΠ΅Π², ΠΏΠΎΡΡΠΎΠΌΡ REST ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΡΡΡΡΠΎΠ΅ΠΌΠΊΠΈΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ Π½Π°Π΄ΠΎ ΠΏΠ°ΡΡΠΈΡΡ Π·Π°ΠΏΡΠΎΡ ΡΡΠΎΠ± ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ Π½Π΅ Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π² Π΄ΡΡΠ³ΠΎΠΉ.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.
Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π² ΡΠΎΠΌ, ΡΡΠΎ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΊΠ°ΠΊΠ°Ρ ΡΠ³ΠΎΠ΄Π½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°, Π±ΡΠ΄Ρ ΡΠΎ ΡΠ°ΠΉΡ, flash, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈ Π΄Ρ. ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠ°ΡΡΠΈΠ½Π³Π° XML ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² HTTP ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΠΏΠΎΡΡΠΈ Π²Π΅Π·Π΄Π΅.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° REST ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΡΡ Π·Π°Π΄Π°ΡΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠΎΠ³ΠΎ ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, Π²Π΅Π΄Ρ Π½Π΅Π»ΡΠ·Ρ ΠΊΠΎΠΌΡ ΡΠ³ΠΎΠ΄Π½ΠΎ Π΄Π°Π²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠΎ Π΅ΡΡΡ Π½ΡΠΆΠ½Π° Π΅ΡΠ΅ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ. ΠΠΎ ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ΅ΡΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ HTTP Authentication.
REST API: ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΏΡΠΈΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΠΌΠ΅ΡΠΎΠ΄Ρ
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ REST API, ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°.
Π’Π°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ± Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². ΠΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. Π‘Π΅ΠΉΡΠ°Ρ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΡΠΌΠ΅Π» Π²ΡΡΠ΅ΡΠ½ΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅, Π²ΠΊΠ»ΡΡΠ°Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° SOAP.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ REST API
ΠΡΠΎ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠ°Ρ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. Web-ΡΠ»ΡΠΆΠ±Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Representational State Transfer, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½ RESTful. ΠΡΠ»ΠΈΡΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Ρ Π½Π΅Π³ΠΎ Π½Π΅Ρ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ XML, HTTP, JSON ΠΈ URL.
Representational State Transfer ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π΅ΡΠ΅ Π² 2000 Π³ΠΎΠ΄Ρ, Π½ΠΎ Ρ ΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΎΠ½ ΠΎΡΠ΅Π½Ρ ΡΠ°Π·Π²ΠΈΠ»ΡΡ ΠΈ ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠ°Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ , ΠΎΡΠΎΠ΄Π²ΠΈΠ½ΡΠ² Π½Π° Π·Π°Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅.
Π§ΡΠΎΠ±Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΡΡΡΡ Restful API Π΄Π»Ρ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΠΎΠ³Π΄Π° ΠΌΡ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΆΠ΅Π»Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΡΡΠ΅ΡΡ, ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈ ΡΠΊΡΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΈΡΠΎΠ³Π΅ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠ²Π΅Ρ, ΠΎΠ½ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π΅Π³ΠΎ Π½Π° ΡΠΊΡΠ°Π½ Π² Π²ΠΈΠ΄Π΅ Π³ΠΎΡΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅.
ΠΠ΄Π΅ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΡΠΈ, Π° ΡΠΏΠΎΡΠΎΠ±Π½Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ, ΡΡΠΎΠ±Ρ Π²Π·ΡΡΡ Π½ΡΠΆΠ½ΠΎΠ΅ Ρ Π½ΠΈΡ .
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΡΠΎΠΈΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ Facebook, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ΅Π΅Ρ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΡΡΠ΅ΡΡ, ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° Youtube, Π΅Π³ΠΎ ΡΠΎΠΆΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π²Π΅Π±-Π²Π΅ΡΡΠΈΡ API.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΡΠΎΠΈΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄:
Π‘ΡΡΡ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΠ°ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° Π·Π°ΠΏΡΠΎΡΠ°. ΠΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π·Π°Π²ΠΈΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΡΡΡ 4 ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²ΠΈΠ΄Π° Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ:
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ JSON ΠΌΠ°ΡΡΠΈΠ² Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ URL. Π’Π°ΠΌ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²ΡΡΠ»Π°Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ β ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ API
ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°ΠΌΠΈ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½Π°Ρ ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠΈΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅Π»ΠΈ.
Π Π΅Π³ΠΎ Π·Π°Π΄Π°ΡΠΈ Π²Ρ ΠΎΠ΄ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ:
ΠΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠΎ ΡΠΈΠΏΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ REST API, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΠΏΠΎ HTTP ΡΠ°Π²Π½ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ
Π Π΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΡΡΡΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ Π² ΡΠ΅Π±Ρ ΡΠ°Π·Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, Π² ΡΠΎΡΠΌΠ°ΡΠ΅, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΌ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ².
Π’Π΅ Π²Π°ΡΠΈΠ°Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΊΠ°ΠΊ Β«Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΡΒ». ΠΠ»ΠΈΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠΈΠΌ, ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π²ΡΠ΅ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ, Π° ΡΠ΅ΡΠ²Π΅Ρ Π΅ΠΌΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΡΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
ΠΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π»ΡΡΡΠ°Ρ ΡΠ°ΡΡΡ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΡ Π½Π΅ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠ·ΡΠΊΠΎΠ², ΡΠΎ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡΡΡ Ρ ΡΠ°ΠΌΡΠΌΠΈ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΠΎΠ³Π΄Π° API Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ, ΡΠΎ Π½Π΅Π²Π°ΠΆΠ½ΠΎ, ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΈ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ β Ruby ΡΡΠΎ Π±ΡΠ», Java ΠΈΠ»ΠΈ Python ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π΄ΡΡΠ³ΠΎΠ΅. ΠΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π²ΡΡΡΠ»Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ HTTP, ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, ΡΡΠΎ ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½. Π‘Π΅ΡΠ²Π΅Ρ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ½ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΠΎ-ΡΠ²ΠΎΠ΅ΠΌΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½ΠΈΡ , ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠ°Ρ ΠΈ ΡΡ ΠΎΠ΄ΡΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΡ ΠΎΠΆΠ°.
SOAP ΡΡΠΎΠΈΡ ΠΎΡΠ½Π΅ΡΡΠΈ ΠΊ ΠΏΡΠ΅Π΄ΠΊΠ°ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΠΎ ΡΠΈΠΏΡ REST API
ΠΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ ΡΡΠ°Π»ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΠΈ Π²Π΅Π·Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ, Ρ Π½Π΅Π³ΠΎ Π±ΡΠ» Π°Π½Π°Π»ΠΎΠ³ β SOAP. ΠΠ½ Π±ΡΠ» ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½. Π ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ, ΡΡΠΎΠΈΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΈΡΡΠΎΠΊΠ°Ρ .
SOAP β ΡΡΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΡΠ°Π½Π΄Π°ΡΡΡ. ΠΠΌΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ XML, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΡΠΎΡΠΌΠ°Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΠΎΡΡΠ°ΠΆΠ°ΡΡΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΠΈ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π²Π΅ΡΡ, ΠΏΠΎΠ΄Π²ΠΈΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» WSDL β ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ·ΡΠΊ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΈΡΡΡ Π²Π΅Π±-ΡΠ»ΡΠΆΠ±Ρ. ΠΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π΅ΡΡΡ Π»ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΡ ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ . ΠΡΠΎ ΠΌΠ°ΡΠΈΠ½ΠΎΡΠΈΡΠ°Π΅ΠΌΠ°Ρ ΡΠ°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΈ ΠΎΠ±ΡΠ°ΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΡΠ²ΡΠ·Ρ.
ΠΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ SOAP ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ Π² ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ Β«ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΠΊΠΈΒ», Π² ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΡΠ΅Π»ΠΎ. ΠΡΠ΅ ΡΡΠΎ Β«ΠΏΠ°ΠΊΡΠ΅ΡΡΡΒ» ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π·Π°ΡΠ°Π½Π΅Π΅ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΡ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ XML.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΎΡΠΌΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, ΠΈΠ·Π»ΠΈΡΠ½Π΅ ΡΡΠΆΠ΅Π»ΡΠΉ. ΠΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , Π·Π°Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ, Π΄Π΅Π»Π°Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ. Π’Π°ΠΌ, Π³Π΄Π΅ ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π°, ΡΡΡ ΡΡ Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ. ΠΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ» ΠΏΡΠΈΠ΄ΡΠΌΠ°Π½ ΠΈ ΡΠΎΠ·Π΄Π°Π½ rest-ΡΠ΅ΡΠ²ΠΈΡ.
REST, ΡΡΠΎ ΠΆΠ΅ ΡΡ ΡΠ°ΠΊΠΎΠ΅? ΠΠΎΠ½ΡΡΠ½ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π΄Π»Ρ ΠΠ’-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ²
ΠΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΡ ΠΠ½Π΄ΡΠ΅Ρ ΠΡΡΠ°ΠΊΠΎΠ²Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΅Π³ΠΎ Π²Π΅Π±ΠΈΠ½Π°ΡΠ° Π½Π° Π½Π°ΡΠ΅ΠΌ YouTube-ΠΊΠ°Π½Π°Π»Π΅:
ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ REST-ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΡΡΠ°Π»ΠΈ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΡ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΠΌΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠ°ΡΠΈΠΌΠΈ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ ΡΡΠ°ΠΊΡΠΎΠ²ΠΊΠ°ΠΌΠΈ ΡΠ°ΠΊΠΈΡ ΠΏΠΎΠ½ΡΡΠΈΠΉ, ΠΊΠ°ΠΊ REST, RESTful-ΡΠ΅ΡΠ²ΠΈΡ, RESTAPI.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π²Π»ΠΎΠΆΠΈΠ» Π² ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ REST Π΅Ρ Π°Π²ΡΠΎΡ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π½Π°ΠΌ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌ.
ΠΡΡΡΠ½ΠΈΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΡΠ°Π½ΠΈΡΠ° Π²ΠΎΠΊΡΡΠ³ REST ΠΈ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½Π°ΡΡΠΈΡΡΡΡ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΠ»Π»Π΅Π³.
ΠΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ²ΡΠ·Π°Π½Ρ HTTP ΠΈ REST. Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ΅ΠΌΡ REST ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ SOAP.
Π’Π΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ
Π€ΠΎΡΠΌΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ Ρ ΠΆΠΈΠ²Ρ Π² Π΄Π΅Π²ΡΡΠ½Π°Π΄ΡΠ°ΡΠΎΠΌ Π²Π΅ΠΊΠ΅ ΠΈ Ρ ΠΎΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΠΈΡΡΠΌΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ Π² ΠΏΠΎΠΊΡΠ°ΡΠΊΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π² ΠΏΠΈΡΡΠΌΠ΅ ΠΏΡΠΎ ΡΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ²Π΅ΡΠ° Π΄Π»Ρ ΠΏΠΎΠΊΡΠ°ΡΠΊΠΈ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ ΠΈΠΌΠ΅ΡΡΡΡ Π² Π°Π²ΡΠΎΡΠ°Π»ΠΎΠ½Π΅.
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΠΈΡΡΠΌΠΎ, Ρ Π±Π΅ΡΡ Π»ΠΈΡΡ Π±ΡΠΌΠ°Π³ΠΈ ΠΈ ΠΏΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, ΡΡΠΎ Π² Π°Π²ΡΠΎΡΠ°Π»ΠΎΠ½Π΅ ΡΠ΅ΠΉΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ²Π΅ΡΠ°: ΡΠΈΠ½ΠΈΠΉ, Π·Π΅Π»ΡΠ½ΡΠΉ, ΠΊΡΠ°ΡΠ½ΡΠΉ, Π±Π΅Π»ΡΠΉ, ΡΡΡΠ½ΡΠΉ.
ΠΠΎ Ρ ΠΌΠΎΠ³ Π±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ ΠΈ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ: blue, green, red, white, black.
ΠΡΡ ΠΎΠ΄ΠΈΡ, ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. Π ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
Plain text β ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΠΈΡΡΠΌΠ°;
XML β ΡΠ·ΡΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ;
JSON β ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ;
Binary β Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΈΠ· ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΠ°ΡΡΠΈ ΡΡΠΎ XML ΠΈ JSON β ΡΡΠΎ ΡΠΎΡΠΌΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
Π― Π½Π°ΠΏΠΈΡΠ°Π» ΠΏΠΈΡΡΠΌΠΎ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΠΎΡΡ Π΅Π³ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ. Π§ΡΠΎ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ? ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Ρ ΠΊΠ»Π°Π΄Ρ ΠΏΠΈΡΡΠΌΠΎ Π² ΠΊΠΎΠ½Π²Π΅ΡΡ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΠΊΠΈΠΌ ΠΊΠΎΠ½Π²Π΅ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ. ΠΡΠΈ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΡ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΠΈΡΡΠΌΠΎΠΌ Π² ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Ρ ΠΏΠΈΡΡΠΌΠΎΠΌ, ΡΠΎ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ, ΡΡΠΎ:
1. ΠΊΠΎΠ½Π²Π΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ;
2. Ρ Π½Π°ΠΊΠ»Π΅ΠΈΠ²Π°Ρ Π½Π° ΠΊΠΎΠ½Π²Π΅ΡΡ ΠΌΠ°ΡΠΊΠΈ, ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: ΠΎΡ ΠΊΠΎΠ³ΠΎ ΠΏΠΈΡΡΠΌΠΎ, ΠΊΡΠ΄Π° Ρ Π΅Π³ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡ, Π°Π΄ΡΠ΅Ρ ΠΈ Ρ.Π΄.
Π’ΡΠ°Π½ΡΠΏΠΎΡΡ
ΠΠΎΠ»ΡΡΠΈΠ» ΠΏΠΈΡΡΠΌΠΎ Π² ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅, Π²ΡΡ Π·Π΄ΠΎΡΠΎΠ²ΠΎ! ΠΠΎ Π½ΡΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ. ΠΠ°ΠΊ ΠΌΠ½Π΅ Π΅Π³ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ? Π― Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΡΠ»ΡΠ³Π°ΠΌΠΈ ΠΏΠΎΡΡΡ. Π§ΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ? ΠΡΠΈΠΉΡΠΈ Π½Π° ΠΏΠΎΡΡΡ, ΠΎΡΠ΄Π°ΡΡ ΠΏΠΈΡΡΠΌΠΎ. ΠΠ°ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΊΡΠΎ-ΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ.
Π’ΡΠ°Π½ΡΠΏΠΎΡΡ β ΡΡΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ², Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΠ΅ΡΠΈ.
Π’Π°ΠΊΠΈΠΌΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: HTTP, AMQP, FTP.
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Ρ ΠΏΠΈΡΡΠΌΠΎΠΌ, ΡΠΎ ΠΏΠΎΡΡΠΎΠ²Π°Ρ ΡΠ»ΡΠΆΠ±Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ ΠΏΠΈΡΡΠΌΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΠΎΠ»ΡΠ±Ρ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ²Ρ. ΠΡΠΎΠ΄Π΅ Π±Ρ, ΠΏΠΈΡΡΠΌΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅. ΠΠΎΠ½Π²Π΅ΡΡ (ΠΏΡΠΎΡΠΎΠΊΠΎΠ») ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅, ΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅, Π½ΠΎ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ β ΡΡΠ°Π½ΡΠΏΠΎΡΡ ΡΠ°Π·Π½ΡΠΉ.
ΠΡΠΎΡΠΎΠΊΠΎΠ» HTTP
HyperText Transfer Protocol (HTTP) β ΡΡΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ Π³ΠΈΠΏΠ΅ΡΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ HTML, ΡΠ΅Π³ΠΎΠ΄Π½Ρ β Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅, ΠΊΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΡΠΈΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ: ΡΠ΅ΡΡΡΡΡ ΠΈ HTTP-Π³Π»Π°Π³ΠΎΠ»Ρ.
Π Π΅ΡΡΡΡΡ
Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠ°, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠ»ΠΊΠ°: http://webinar.ru/schedule/speech.
ΠΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ Π΅ΡΡΡ ΡΠΎΡ ΡΠ°ΠΌΡΠΉ URL, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΏΠΎΠ²Π΅ΡΡ HTTP. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΈΠ· ΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΠΈΡ ΡΡΠ° ΡΡΡΠ»ΠΊΠ°:
Π Π²ΠΎΡ ΠΊΠ°ΠΊ Π½Π°ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, Π½Π°ΠΌ Π³ΠΎΠ²ΠΎΡΡΡ HTTP-Π³Π»Π°Π³ΠΎΠ»Ρ (ΠΌΠ΅ΡΠΎΠ΄Ρ).
HTTP-Π³Π»Π°Π³ΠΎΠ»Ρ
HTTP-Π³Π»Π°Π³ΠΎΠ»Ρ β ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° HTTP, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π°Π΄ Π΄Π°Π½Π½ΡΠΌ ΡΠ΅ΡΡΡΡΠΎΠΌ.
GET/schedule/speech/id413 β ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ΅
ΠΠ΄Π΅ΡΡ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ (ΡΠ΅ΡΡΡΡ) Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 413. Π― ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ HTTP-Π³Π»Π°Π³ΠΎΠ» GET Π΄Π»Ρ, ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ 413.
Π― ΠΌΠΎΠ³Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΈΠΌ HTTP-Π³Π»Π°Π³ΠΎΠ»ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΌΠ½Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
PUT/schedule/speech/id413 β ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ
ΠΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ:
ΠΠ»Π°Π²Π½ΠΎΠ΅ Π·Π΄Π΅ΡΡ ΡΠΎ, ΡΡΠΎ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ (ΡΠ΅ΡΡΡΡΡ) ΠΈ ΡΠΎΠ²Π΅ΡΡΠ°Π΅ΠΌ Π½Π°Π΄ Π½ΠΈΠΌΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ ΡΠΏΠΈΡΠΊΠΎΠΌ HTTP-ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²: GET, PUT, POST, DELETE ΠΈ Ρ.Π΄.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ REST?
ΠΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ½ΡΡΠΈΠ΅ REST Π·Π°Π»ΠΎΠΆΠΈΠ» Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»Ρ Π ΠΎΠΉ Π€ΠΈΠ»Π΄ΠΈΠ½Π³?
Representational State Transfer β ΡΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅ΡΠΈ. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠΎ Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΌ REST? ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΌ ΡΡΠΎΡ ΡΡΠΈΠ»Ρ? Π§ΡΠΎ Π½Π°ΠΌ Π΄Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² REST?
ΠΡΠ»ΠΈ ΠΌΡ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΎΠΏΡΡΡ ΠΆΠ΅ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ β ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Π€ΠΈΠ»Π΄ΠΈΠ½Π³Π°, ΡΠΎ ΠΌΡ Π²ΡΡΡΠ½ΠΈΠΌ, ΡΡΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ REST Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠ°ΠΊ:
ΠΠΈΠ±ΠΊΠΎΡΡΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ,
ΠΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΅Π½Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°Π½Π°Π»ΠΈΡΠΈΠΊ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌ. Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅. ΠΡΠ»ΠΈ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΡΠΎ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π½ΠΈ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ Π½Π΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π½Π° ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΡΡΡΠ΅ΠΌΠΈΠΌΡΡ Π΄ΠΎΡΡΠΈΡΡ.
ΠΡΠΈΠ½ΡΠΈΠΏΡ REST
ΠΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ REST ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π½Π°ΠΌ Π΄ΠΎΡΡΠΈΡΡ ΡΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ Π½Π΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ?
Π§ΡΠΎΠ±Ρ ΡΡΠΎ ΠΏΠΎΠ½ΡΡΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈ 6 ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² REST β ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π½Π°ΠΌ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΡΠΈΡ Π½Π΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ.
6 ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² REST:
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΈ ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
ΠΡΠΈΠ½ΡΠΈΠΏ 1. ΠΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°
Π‘Π°ΠΌΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π·ΠΎΠ½ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ: Π² ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π§ΡΠΎ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ?
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌ Π½Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ (Π΄ΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅) ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π² ΡΠ΅Π±Π΅ Π»ΠΎΠ³ΠΈΠΊΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎ ΡΠΌΠ΅ΠΆΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈ Ρ.Π΄.
Π§ΡΠΎ ΠΌΡ ΡΡΠΈΠΌ Π΄ΠΎΠ±ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ Π±ΡΡΡ ΠΈΠ½Π°ΡΠ΅? ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Ρ Π½Π°Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ. Π’ΠΎΠ³Π΄Π°, Π΅ΡΠ»ΠΈ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π±ΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅ΠΉ. Π ΡΠΎΠ³Π΄Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π°Ρ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π΅Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ/ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Ρ Π½Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ Π±Ρ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΠ΅ΡΡ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π»ΠΈΡΡ Π±Ρ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ β ΡΠ°ΠΊΠ°Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½Π°Ρ ΡΠ΅ΡΡ ΡΠ°Π²Π½ΠΎΡΠ΅Π½Π½ΡΡ ΡΠ·Π»ΠΎΠ².
Π’Π°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ Π΅ΡΡΡ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π² ΡΠ»ΡΡΠ°Π΅ Ρ REST ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅.
ΠΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°
Π’Π°ΠΊΠΆΠ΅ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ (ΡΠΌ. ΡΠΈΡΡΠ½ΠΎΠΊ Π½ΠΈΠΆΠ΅). Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°Π΄ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΏΠ°ΡΠ° Β«ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΠΒ» ΡΠΎΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ°ΡΠΎΠΉ Β«ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΒ». Π’ΠΎΠ»ΡΠΊΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΠ, Π° ΡΠ°ΠΌ ΡΠ΅ΡΠ²Π΅Ρ β ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ.
Π’ΡΡΡ
Π·Π²Π΅Π½Π½Π°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°
Π§ΡΠΎ Π΄Π°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½Π° Π½ΡΠΆΠ½Π°?
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π΄Π°Π΅Ρ Π½Π°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ: Π΅ΡΡΡ ΡΠ΅ΡΠ²Π΅Ρ, Π΅ΡΡΡ Π΅Π΄ΠΈΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ². Π’Π°ΠΊΠΆΠ΅ ΠΊ Π½Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² (ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π΅ΡΠΆΠ°ΡΡ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ.
ΠΠΎ-Π²ΡΠΎΡΡΡ , REST Π΄Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΏΡΠΎΡΡΠΎΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ. ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ°Π²Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΠ΅ΡΡΡ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ. Π ΡΠ»ΡΡΠ°Π΅ Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΅Π΄ΠΈΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΎΡΠΊΠ°Π·Π° Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠ»ΠΈ ΠΎΡΠΊΠ°Π·Π°Π» ΡΠ΅ΡΠ²Π΅Ρ ΠΈ Ρ Π½Π°Ρ Π½Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ², ΡΠΎ Π΄Π»Ρ Π½Π°Ρ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ Π½Π΅ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡΡΡ Π½Π°Π³ΡΡΠ·ΠΊΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΌΡ Π²ΡΠ½Π΅ΡΠ»ΠΈ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ»ΠΈΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Ρ Π½Π°Ρ Π²ΠΎΠ·ΡΠ°ΡΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
ΠΡΠΈΠ½ΡΠΈΠΏ 2. Stateless
ΠΡΠΈΠ½ΡΠΈΠΏ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ ΡΠ°Π½ΠΈΡΡ Ρ ΡΠ΅Π±Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΡΡΠΈΠΈ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ. ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Stateless. ΠΠ°ΠΏΡΠΎΡ ΠΏΠΎΠ³ΠΎΠ΄Ρ Π½Π° 20.06 Π² ΠΠΎΡΠΊΠ²Π΅
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π° ΠΏΠΎΠ³ΠΎΠ΄Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π΅ ΠΏΠΎΠ³ΠΎΠ΄Ρ Π½Π° Π·Π°Π²ΡΡΠ°.
Π§ΡΠΎ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ Stateless? ΠΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡ Β«ΠΠ°ΠΊΠ°Ρ ΠΏΠΎΠ³ΠΎΠ΄Π°?Β», ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ³ΠΎΠ΄Ρ ΡΠ·Π½Π°ΡΡ, ΠΈ Π΄Π°ΡΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΡΠΎΠ³Π½ΠΎΠ· ΠΏΠΎΠ³ΠΎΠ΄Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π°ΠΌ β Β«ΠΡΠ΄Π΅Ρ ΠΆΠ°ΡΠΊΠΎΒ».
ΠΡΠ»ΠΈ Ρ Π·Π°Ρ ΠΎΡΡ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ³ΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· Π΄Π΅Π½Ρ, ΡΠΎ ΠΎΠΏΡΡΡ ΡΠΊΠ°ΠΆΡ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Ρ ΠΎΡΡ ΡΠ·Π½Π°ΡΡ ΠΏΠΎΠ³ΠΎΠ΄Ρ, ΡΠΊΠ°ΠΆΡ Π΄ΡΡΠ³ΡΡ Π΄Π°ΡΡ. Π‘Π΅ΡΠ²Π΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΡΠΎΠΎΠ±ΡΠΈΡ ΠΌΠ½Π΅, ΡΡΠΎ ΡΠ°ΠΌ ΡΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΆΠ°ΡΠΊΠΎ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Stateless. ΠΠ°ΠΏΡΠΎΡ ΠΏΠΎΠ³ΠΎΠ΄Ρ Π½Π° 21.06 Π² ΠΠΎΡΠΊΠ²Π΅
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΈΡΡΠ°ΡΠΈΡ: ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ, Π΅ΡΠ»ΠΈ Π±Ρ Ρ Π½Π°Ρ Π½Π΅ Π±ΡΠ»ΠΎ Stateless? Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ Π½Π°Ρ Π±Ρ Π±ΡΠ» Stateful. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΠ²Π΅Ρ Ρ ΡΠ°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Ρ ΡΠ°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΡΡΠΈΠΈ, ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΠ°ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ. Π Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
ΠΡΠΈΠ²Π΅Π΄ΡΠΌ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅:
ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Stateful
Π― Π²ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Ρ ΠΎΡΡ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠ°Ρ ΠΏΠΎΠ³ΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ Π·Π°Π²ΡΡΠ°: ΠΎΡΠΏΡΠ°Π²Π»ΡΡ Π·Π°ΠΏΡΠΎΡ, ΡΠ΅ΡΠ²Π΅Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ, ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΠΎΡΠ²Π΅Ρ ΠΈ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠ²Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ, ΠΎΠ½ Π΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ (ΡΠ°ΡΡΡ ΠΈΠ»ΠΈ Π²ΡΡ) ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ Π·Π°ΠΏΡΠΎΡ ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠΈΠ». Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Ρ Π·Π°Ρ ΠΎΡΡ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠ°Ρ ΠΏΠΎΠ³ΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π· Π΄Π΅Π½Ρ, Ρ ΠΌΠΎΠ³Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ Π²ΡΠ·ΠΎΠ²: Β«Π Π·Π°Π²ΡΡΠ°?Β». ΠΠ΅ ΡΠΎΠΎΠ±ΡΠ°Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎ ΠΌΠ΅ΡΡΠ΅ ΠΈ ΠΎ Π΄Π°ΡΠ΅.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ ΡΠ°Π½ΠΈΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ. ΠΠ½ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΡΡΠΎ Ρ Ρ Π½Π΅Π³ΠΎ ΡΠΏΡΠ°ΡΠΈΠ²Π°Ρ ΠΏΡΠΎ 21-Π΅ ΡΠΈΡΠ»ΠΎ ΠΈ ΠΌΠΎΠ³Ρ Π΄Π°ΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Ρ ΡΠ°Π½ΠΈΠΌΠΎΠΉ Ρ Π½Π΅Π³ΠΎ Π² ΠΠ ΠΈΠ»ΠΈ Π² ΠΊΡΡΠ΅. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Stateful Π² ΠΆΠΈΠ·Π½ΠΈ β ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° Ρ FTP-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
ΠΠ΅ΡΠ½ΡΠΌΡΡ ΠΊ Statless-ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ. ΠΠΎΡΠ΅ΠΌΡ Π² REST-Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Statless-ΠΏΠΎΠ΄Ρ ΠΎΠ΄?
ΠΠ°ΠΊΠΈΠ΅ ΠΎΠ½ Π΄Π°ΡΡ ΠΏΠ»ΡΡΡ?
Π£ΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ°,
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΡΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π²Π΅ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ: Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π΅ΡΡΡΡ ΡΠ°ΠΊΠΈΡ . ΠΠ½Π΅ Π±ΡΠ΄Π΅Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½Π΅Π²Π°ΠΆΠ½ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΊΠ»ΠΎΠ½ΠΎΠ² ΠΏΡΠΈΠ΄ΡΡ Π·Π°ΠΏΡΠΎΡ. ΠΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΡΠΎ Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ, Π»ΠΈΠ±ΠΎ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠΌΠ΅Π»ΠΎ Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡ Π² Π½ΡΠΆΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΡΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Ρ Π²ΠΈΠΆΡ Π² Π»ΠΎΠ³Π°Ρ , ΠΊΠ°ΠΊΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΡΠ²Π΅Ρ ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠ°Π». ΠΠ½Π΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ·Π½Π°Π²Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Ρ ΡΠ°Π½ΠΈΠ» ΡΠ΅ΡΠ²Π΅Ρ.
Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Stateless ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Stateless-ΠΏΠΎΠ΄Ρ ΠΎΠ΄?
Π£ΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡ , ΠΎ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π²Π΅ΡΠ°Ρ ).
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΡΠ΅ΡΡ (ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π²Π΅ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π³ΠΎΠ½ΡΠ΅ΠΌ ΠΏΠΎ ΡΠ΅ΡΠΈ).
ΠΡΠΈΠ½ΡΠΈΠΏ 3. ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π΅ ΡΡΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π³ΠΎΠ²ΠΎΡΠΈΡ Π½Π°ΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΠ²Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠΌΠ΅ΡΠΊΡ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π΅Π³ΠΎ ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅?
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π²ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Π΅ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎ ΠΏΡΠΎΠ³Π½ΠΎΠ·Ρ ΠΏΠΎΠ³ΠΎΠ΄Ρ, Π΅ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ. Π‘Π°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΡΠΎΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎΠ³ΠΎΠ΄Ρ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ. ΠΠΎΠ³ΠΎΠ΄Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠ΅ΠΎΡΡΠ°Π½ΡΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ². Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅?
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΠ±ΡΠ°ΡΠΈΠ»ΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ Ρ Π·Π°ΠΏΡΠΎΡΠΎΠΌ Β«Π₯ΠΎΡΡ ΡΠ·Π½Π°ΡΡ ΠΏΠΎΠ³ΠΎΠ΄ΡΒ». Π§ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ?
ΠΡΠ»ΠΈ ΠΌΡ Π΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ ΠΌΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ β ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡ ΠΊ ΠΌΠ΅ΡΠ΅ΠΎΡΡΠ°Π½ΡΠΈΠΈ, Π° ΠΎΠ½Π° Π²Π΅ΡΠ½ΡΡ Π΅ΠΌΡ ΠΎΡΠ²Π΅Ρ. ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠ²Π΅ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΊΡΡΠ΅. Π ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌ Π²Π΅ΡΠ½ΡΡΡ ΠΎΡΠ²Π΅Ρ. ΠΠ»Ρ ΡΠ΅Π³ΠΎ?
ΠΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π· ΠΎΡΠΏΡΠ°Π²ΠΈΡ ΡΠΎΠ²Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π·Π°ΠΏΡΠΎΡ, ΡΠ΅ΡΠ²Π΅Ρ ΡΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΌΠ΅ΡΠ΅ΠΎΡΡΠ°Π½ΡΠΈΠΈ. ΠΠ½ ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΏΡΠΎΠ³Π½ΠΎΠ· ΠΈΠ· ΠΊΡΡΠ° ΠΈ Π²Π΅ΡΠ½ΡΡΡ ΠΎΡΠ²Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π§Π΅Π³ΠΎ ΠΌΡ Π΄ΠΎΠ±ΠΈΠ»ΠΈΡΡ? ΠΡ ΡΠ±ΡΠ°Π»ΠΈ ΠΎΠ΄Π½Ρ ΡΠ°ΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΠΌΠ΅ΡΠ΅ΠΎΡΡΠ°Π½ΡΠΈΠ΅ΠΉ. ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ? ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ°ΡΡΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π° Π½ΠΎΠ²ΠΎΡΡΠ½ΡΡ ΡΠ°ΠΉΡΠ°Ρ ΠΈΠ»ΠΈ Π² ΡΠΎΡΡΠ΅ΡΡΡ (Π½Π° Π²Π΅Π±-ΡΠ΅ΡΡΡΡΠ°Ρ , ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ).
ΠΠ°ΠΊΠΈΠ΅ Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ»ΡΡΡ?
Π£ΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ΅ΡΠ΅Π²ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
Π£ΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ (Π½Π΅ Π³ΡΡΠ·ΠΈΠΌ ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ).
Π ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ Π½Π΅ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ. Π’ΠΎΠ³Π΄Π° ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅Ρ ΡΠΌΡΡΠ»Π°.
ΠΡΠΈ ΡΡΠΎΠΌ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΏΡΠΎΡΡΠ°Ρ ΡΡΡΠΊΠ°. ΠΠ½Π° Π±ΡΠ²Π°Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π° ΠΈ Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½Π° Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΎΡΠ΄Π°ΡΠΌ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΠ»ΠΈ ΡΠ°Π½ΡΡΠ΅, ΡΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³Π»ΠΈ ΡΠΆΠ΅ ΡΡΡΠ°ΡΠ΅ΡΡ.
Π ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ, Π½ΠΎ Π² ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΡΠ»ΡΡΠ°ΡΡ β Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎΠΈΡ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β Π²ΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π΄ΡΠΌΡΠ²Π°ΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΡΠΈΠ½ΡΠΈΠΏ 4. ΠΠ΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. HATEOAS
Hypermedia as the Engine of Application State (HATEOAS) β ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ REST, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠ΅ΡΠ²Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΡΡ, Π½ΠΎ ΠΈ Π΅Π³ΠΎ ΡΠ²ΡΠ·ΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ Π½ΠΈΠΌ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠΎΠ·ΡΠΌΡΠΌ HTTP-Π·Π°ΠΏΡΠΎΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ Ρ ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ:
ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° ΡΠ΅ΡΡΡΡΠ°
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ HTTP-Π³Π»Π°Π³ΠΎΠ» GET, ΡΠΎ Π΅ΡΡΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΡΡΡ. ΠΠ±ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡΡΡΡ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 12345.
ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ HATEOAS, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π±Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ XML-ΠΎΡΠ²Π΅Ρ:
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠ²Π΅ΡΠ° Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° HATEOAS
ΠΠ΄Π΅ΡΡ ΡΠΊΠ°Π·Π°Π½ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΡΠ°, Π±Π°Π»Π°Π½Ρ ΠΈ Π²Π°Π»ΡΡΠ°.
Π§ΡΠΎ ΠΆΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ HATEOAS? ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ Ρ ΡΡΡΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈ Π±Ρ ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ, ΡΠΎ Π² ΠΎΡΠ²Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, Π½ΠΎ ΠΈ Π²ΡΠ΅ ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Ρ Π½ΠΈΠΌ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ. Π, Π΅ΡΠ»ΠΈ Π±Ρ Ρ Π½Π΅Π³ΠΎ Π±ΡΠ»ΠΈ Π±Ρ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π²Π°ΠΆΠ½ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π±Ρ Π΅ΡΡ ΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π½ΠΈΡ .
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠ²Π΅ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° HATEOAS
ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ, ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ Π½Π°Π΄ ΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΈ ΠΊΠ°ΠΊΡΡ Π΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ. ΠΡ Π΄Π°ΡΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠΎΠ³ΠΈΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ.
ΠΠ»Π°Π²Π½ΡΠΉ ΠΏΠ»ΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° β ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΠ΅Π½Ρ Π³ΠΈΠ±ΠΊΠΈΠΌ Π² ΠΏΠ»Π°Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ Ρ.Π΄.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΌΠ΅Π΄Π°Π»ΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ½ΡΡΡ Π·Π° ΡΠΎΠ±ΠΎΠΉ ΠΈ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌ Π½Π° Π΅Π³ΠΎ ΠΆΠ΅ ΡΡΠΎΡΠΎΠ½Ρ. ΠΡ ΠΎΡΠ»Π°Π±Π»ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΠΈ ΡΠΎΠ²Π΅ΡΡΠ°Π΅ΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΡΠΈΠ½ΡΠΈΠΏ 5. Layered system (ΡΠ»ΠΎΠΈΡΡΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°)
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΡ Π΅ΠΌΠ°Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π½ΠΎ Π½Π΅ Π΄ΡΠΌΠ°Π»ΠΈ, ΡΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊΠΈ.
Π ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, proxy-ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠΎΡΡΠ΅ΡΡ, Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ β Π²ΡΠ΅, ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ. Π ΡΠΎ, ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡ ΠΏΡΡΠΈ Π·Π°ΠΏΡΠΎΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΌΡ ΡΠ°ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π½Π°ΡΡ.
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠ»ΠΎΠΈΡΡΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ, Π½ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΠΏΠΎΡΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄Π°Π»ΡΡΠ΅ ΡΠ²ΠΎΠΈΡ ΠΏΡΡΠΌΡΡ ΡΠΎΡΠ΅Π΄Π΅ΠΉ.
ΠΠΎΠ΄Π΅Π»Ρ ΡΠ»ΠΎΠΈΡΡΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
ΠΠ½Π°Π½ΠΈΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π² ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΠΎΠ± ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ proxy-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΡΠ»Π΅Π²Π° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΡΠΏΡΠ°Π²Π°. Π ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΎΠ½ ΡΠΆΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ.
ΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ proxy-ΡΠ΅ΡΠ²Π΅ΡΠ° (Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΡΠΎΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅Π³ΠΎ-ΡΠΎ Π΅ΡΡ), ΡΡΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ²Π»Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΎΠΌΠ΅ΡΠ°Ρ ΠΈΡ Π² ΡΡΡ ΡΠ΅ΠΏΠΎΡΠΊΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΌΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΌΠ΅ΡΠ°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΎΠ±ΡΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π±Π΅Π· Π΄ΠΎΡΠ°Π±ΠΎΡΠΎΠΊ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΡΠ΅ΡΡ (Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΠ΅ΠΌ Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π°ΠΏΡΡΠΌΡΡ).
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ° (ΠΈΠ·-Π·Π° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ²).
ΠΡΠΈΠ½ΡΠΈΠΏ 6. Code on done (ΠΊΠΎΠ΄ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ)
ΠΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (ΠΏΠΎ ΡΡΡΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ) ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡ.
ΠΠΎΠ΄Π΅Π»Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ «ΠΠΎΠ΄ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ»
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ β ΡΡΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΡΠ½ΡΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ. ΠΠ»ΠΈΠ΅Π½Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΈ ΠΆΠ΄ΡΡ ΠΎΡΠ²Π΅ΡΠ° β ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²ΠΎΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΠΉΠ΅ΡΠ²Π΅ΡΠΊ Π² ΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠ»ΠΈΠΊΠ°Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΊΠΈ). ΠΡΠΎ Π²ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
ΠΠΈΠ±ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Ρ Π΄Π°Π½Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ, ΠΏΠΎΠ»ΡΡΠΈΡ Π² ΠΎΡΠ²Π΅Ρ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π΅ ΠΏΡΠΎΡΡΠΎ HTML-ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π° Π΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΡΠ°ΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ. ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, Π° ΡΠΎΡ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ.
Π§ΡΠΎ ΠΌΡ Π·Π° ΡΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ? ΠΡΡΠ°ΡΡΠΈ, ΡΡΠΎ ΡΡ ΠΎΠΆΠ΅ Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠΌ HATEOAS. ΠΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΡΠ°ΡΡ Π³ΠΈΠ±ΡΠ΅. ΠΡΠ»ΠΈ ΠΌΡ Π·Π°Ρ ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²Π΅Ρ ΡΠ΅ΠΉΠ΅ΡΠ²Π΅ΡΠΊΠ°, ΡΠΎ Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ β ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° β javascript.
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅ ΡΡ ΠΎΠ΄ΡΡΡΡ ΠΈΠ΄Π΅ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π»ΠΎΠΆΠΈΠ» Π ΡΠΉ Π€ΠΈΠ»Π΄ΠΈΠ½Π³ Π² ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ REST, Ρ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΠ΅ΠΌ REST Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°ΠΌΠΈ?
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΡΠ΅ Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ REST.
1. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ REST ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½Ρ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ)
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ β ΠΊΠΎΠ΄ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. ΠΡΠ»ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½ΠΈΡ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ β ΡΡΠΎ ΡΠΆΠ΅ Π½Π΅ REST-ΠΏΠΎΠ΄Ρ ΠΎΠ΄.
2. REST β ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
REST β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ½ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ, ΠΊΠ°ΠΊΠ°Ρ Ρ Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΡΡΡΠΊΡΡΡΠ°, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π² ΠΎΡΠΈΠ±ΠΊΠ°Ρ . ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΡΠΈΠΏΠΈΡΠ°ΡΡ β ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΠ²Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π΅Π³ΠΎ ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠΎ, Π² ΡΠ΅Π»ΠΎΠΌ, REST β ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ, ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°, Π½ΠΎ Π½Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ». Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ HTTP, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ.
3. REST β ΡΡΠΎ Π²ΡΠ΅Π³Π΄Π° HTTP
Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² REST Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡ Π½Π°ΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ β HTTP ΠΈΠ»ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.
ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π² ΠΆΠΈΠ·Π½ΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π»ΡΠ΄ΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ REST ΠΈ HTTP β ΡΡΠΎ Π°ΠΊΡΠΈΠΎΠΌΠ°.
ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ, ΡΡΠΎ REST β ΡΡΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ HTTP, ΡΠΎ Π²Π°Ρ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΡΡΠΌΠ°ΡΡΠ΅Π΄ΡΠΈΠΌΠΈ.
ΠΠΎΡΠ΅ΠΌΡ ΠΆΠ΅ Π²ΡΠ΅ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ REST β ΡΡΠΎ HTTP? ΠΠ΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΠΌΠ°ΡΠΊΡ, ΡΡΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ Π°Π²ΡΠΎΡΠΎΠ² ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° HTTP β ΡΡΠΎ Π ΡΠΉ Π€ΠΈΠ»Π΄ΠΈΠ½Π³, Π°Π²ΡΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ REST. Π ΡΠΉ Π€ΠΈΠ»Π΄ΠΈΠ½Π³ ΡΡΡΠ΅ΠΌΠΈΠ»ΡΡ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ HTTP ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ REST Π±ΡΠ»ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ.
4. REST β ΡΡΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ JSON
ΠΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ ΡΠ»ΠΎΠΆΠΈΠ»ΠΎΡΡ? ΠΠ»Π°Π²Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°Π·Π°Π΄ ΡΠ΅ΡΠ²ΠΈΡΡ Π²ΠΈΠ΄Π° JSON over HTTP ΡΡΠ°Π»ΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ SOAP. JSON ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΠ°Π» ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΠΈ ΡΡΠ°Π» Π°Π½ΡΠ°Π³ΠΎΠ½ΠΈΡΡΠΎΠΌ XML, ΠΊΠ°ΠΊ SOAP ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ. JSON ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π½Π΅ SOAP.
ΠΠΎΠ΄Π΅Π»Ρ Π·ΡΠ΅Π»ΠΎΡΡΠΈ REST-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
Π ΠΈΡΠ°ΡΠ΄ΡΠΎΠ½ Π²ΡΠ΄Π΅Π»ΠΈΠ» ΡΡΠΎΠ²Π½ΠΈ Π·ΡΠ΅Π»ΠΎΡΡΠΈ REST-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°, ΡΡΠΎ REST β ΡΡΠΎ, Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, Π²ΡΡ-ΡΠ°ΠΊΠΈ HTTP. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΎΠ½ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π» ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ: Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²ΠΈΡ REST ΠΈΠ»ΠΈ Π½Π΅ REST.
Π£ΡΠΎΠ²Π΅Π½Ρ 0
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΎΠ½ Π²ΡΠ΄Π΅Π»ΠΈΠ» Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ. Π Π½Π΅ΠΌΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ Π»ΡΠ±ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ HTTP ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠΎΡΠΌΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΡΠΎ JSON over HTTP β ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΡΠΎ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ.
ΠΡΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ Β«ΠΏΠΎΡΡΠΏΠ°ΡΡ ΡΡΡΠΊΠ°ΠΌΠΈΒ» Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° HTTP, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ, ΡΡΠΎ ΠΌΡ Π²ΡΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ API. ΠΡ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ Π΅Π΄ΠΈΠ½ΡΠΉ ΠΏΡΡΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ HTTP-Π³Π»Π°Π³ΠΎΠ» Π΄Π»Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π»ΡΠ±ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ Π»ΡΠ±ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: ΡΠΎΠ·Π΄Π°ΠΉ Π²Π΅Π±ΠΈΠ½Π°Ρ, Π·Π°ΠΏΠΈΡΠΈ Π²Π΅Π±ΠΈΠ½Π°Ρ, ΡΠ΄Π°Π»ΠΈ Π²Π΅Π±ΠΈΠ½Π°Ρ ΠΈ Ρ.Π΄. Π’ΠΎ Π΅ΡΡΡ ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ URL ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ HTTP-ΠΌΠ΅ΡΠΎΠ΄, ΠΎΠ±ΡΡΠ½ΠΎ POST.
ΠΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²:
ΠΡΠΈΠΌΠ΅Ρ 0-Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ REST
Π£ΡΠΎΠ²Π΅Π½Ρ 1
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ β ΠΏΠ΅ΡΠ²ΡΠΉ. ΠΡ ΡΠΆΠ΅ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Π½Π΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ URL. ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΡ Π΅ΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌ HTTP-Π³Π»Π°Π³ΠΎΠ»Ρ.
ΠΡ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠ²Π½ΠΎ Π½Π°ΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: ΡΠΏΠΈΠΊΠ΅Ρ, ΠΊΡΡΡ, Π²Π΅Π±ΠΈΠ½Π°Ρ. ΠΠΎ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ΄Π΅Π»Π°ΡΡ β ΡΠ΄Π°Π»ΠΈΡΡ, ΡΠΎΠ·Π΄Π°ΡΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΌΡ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ HTTP-Π³Π»Π°Π³ΠΎΠ» POST.
ΠΡΠΈΠΌΠ΅Ρ 1-Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ REST
Π£ΡΠΎΠ²Π΅Π½Ρ 2
ΠΡΠΎΡΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ HTTP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ HTTP-Π³Π»Π°Π³ΠΎΠ»Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΡΠΏΠΈΠΊΠ΅Ρ, ΡΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠΈΠΊΠ΅ΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½ΡΠΌ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π³Π»Π°Π³ΠΎΠ»: GET, POST. ΠΠΎΠ³Π΄Π° Ρ ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΏΠΈΠΊΠ΅ΡΠ° β Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π³Π»Π°Π³ΠΎΠ»Ρ: PUT, DELETE.
ΠΠΎ ΡΡΡΠΈ, Π²ΡΠΎΡΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π·ΡΠ΅Π»ΠΎΡΡΠΈ β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ REST.
ΠΠ°Π΄ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ, Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, Π΅ΡΠ»ΠΈ ΠΌΡ Π΄ΠΎΡΠ»ΠΈ Π΄ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π·ΡΠ΅Π»ΠΎΡΡΠΈ, ΡΠΎ ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ REST-ΡΠΈΡΡΠ΅ΠΌΡ/ REST-ΡΠ΅ΡΠ²ΠΈΡ. ΠΠΎ Π² ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ 2-ΠΎΠΌΡ ΡΡΠΎΠ²Π½Ρ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ RESTfull ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ.
RESTfull-ΡΠ΅ΡΠ²ΠΈΡ β ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ Ρ ΡΡΡΡΠΎΠΌ REST-ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ. Π₯ΠΎΡΡ, Π² ΡΠ΅Π»ΠΎΠΌ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π΅Π΅ ΡΠ΅ΡΠ²ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π·ΡΠ΅Π»ΠΎΡΡΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ HTTP-ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ ΠΈΠ»ΠΈ HTTP-API, Π½Π΅ΠΆΠ΅Π»ΠΈ REST-API.
ΠΡΠΈΠΌΠ΅Ρ 2-Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ REST
Π£ΡΠΎΠ²Π΅Π½Ρ 3
Π’ΡΠ΅ΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π·ΡΠ΅Π»ΠΎΡΡΠΈ β ΡΡΠΎ ΡΡΠΎΠ²Π΅Π½Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ HATEOAS. ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ΅ΡΡΡΡΡ, ΠΌΡ ΡΠΎΠΎΠ±ΡΠ°Π΅ΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΌ (ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ) ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ ΡΠ΅ΡΡΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΡΠ·ΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ 3-Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ REST
ΠΡΠ²ΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·ΡΠ΅Π»ΠΎΡΡΠΈ
ΠΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π½Π°ΠΌ ΡΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΏΠΎΠ½ΡΡΡ ΡΠΎ, ΡΡΠΎ Π½Π°ΡΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ RESTΠΎΠΌ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π²Π·ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ? REST Ρ Π²Π°Ρ ΠΈΠ»ΠΈ Π½Π΅ REST?
ΠΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ ΡΡΠ°ΠΊΡΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠΌΠΈΠ½Π° REST β Π²ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ JSON ΠΏΠΎΠ²Π΅ΡΡ HTTP.
ΠΡΠΎΡΠ°Ρ, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ, REST β ΡΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π·ΡΠ΅Π»ΠΎΡΡΠΈ, ΡΠΎ Π΅ΡΡΡ HTTP-API, ΡΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ HTTP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. ΠΡΠ»ΠΈ ΠΌΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌ ΡΠ΅ΡΡΡΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ HTTP-Π³Π»Π°Π³ΠΎΠ»Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ HTTP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΡΠΎ Ρ Π½Π°Ρ REST.
Π§ΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ RESTΠΎΠΌ?
ΠΠΎΠ΄Π²Π΅Π΄ΡΠΌ ΠΈΡΠΎΠ³ΠΈ
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉ REST. ΠΠ½Π΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ REST, ΡΠ°ΡΡΠΎ ΡΠ°Π·Π½ΡΡΡΡ. ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ Π½ΠΎΠ²ΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ, Π½ΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ, ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°Ρ ΠΊΠΎΠ»Π»Π΅Π³Π° Π½Π°Π·ΡΠ²Π°Π΅Ρ RESTΠΎΠΌ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΡΠ°ΠΏΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π΅ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎ ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΠ°Ρ .
ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΏΡΠΈΠ½ΡΠΈΠΏΡ REST ΠΌΡ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π² ΠΆΠΈΠ·Π½ΠΈ. ΠΠ½ΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΠΎΡΠΌΡΡΠ»Π΅Π½ΠΈΡ. ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, STATELESS ΠΈ STATEFUL, ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ β ΡΡΠΎ ΡΠ΅ Π²Π΅ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ.
Π’ΡΠ΅ΡΡΠ΅ β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° REST ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΠΌ Π²ΡΡΠ²ΠΈΡΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ β ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Ρ.Π΄.
1. Π‘ΠΏΠΎΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ API
2. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API