REST срещу WebSocket
8 януари 2019 г. 4 минути четене
Преди няколко дни Quora ме „помоли“ да отговоря на някой, който попита дали „AWS API Gateway поддържа различен протокол от REST“. Въпреки концептуалната грешка във въпроса - мисля, че знаете какво е - отговорих много бързо, но Серджо ще говори много скоро и по-подробно за API Gateway. Така че следете! Работата е там, че този въпрос ме вдъхнови да напиша днешната публикация и да направя кратко сравнение между REST (HTTP) и WebSocket.

Повече от сравнение „REST срещу WebSocket“, това е сравнение HTTP срещу WebSocket (ws). Е, както добре си спомняте, REST (Reprezentative State Transfer) е модел или стил на архитектурен дизайн, а не транспортен протокол. Протоколът HTTP е изпълнение на REST архитектурата.
Много кратко и обобщено - можете да намерите повече информация тук, или тук, REST API е набор от правила, които позволяват комуникация между уеб приложения. REST използва HTTP протокола и много от неговите функции като част от своята API структура. Всъщност някой отдавна е казал, че „REST е мрежата, а мрежата е REST“. Ще се съгласите или не, но днес това е най-използваният стил.:)
Websocket е комуникационен протокол, който осигурява "пълен дуплекс" комуникационни канали през една и съща TCP връзка. Това е същата концепция на класическите UNIX сокети, но в мрежата и с идеята да се улесни прехвърлянето на данни в реално време от сървъра и към сървъра. Като двупосочна комуникация, сървърът може да изпраща информацията директно на клиента по време на свързването. Както добре знаете, REST не го прави лесно. Въпреки че на пазара има много мощни рамки, които знаят как да се справят с REST и backkends в реално време.
Както казахме по-рано, REST е архитектурен стил, а WebSocket протокол, следователно има смисъл, ако сравним HTTP с WebSocket. Това са някои от разликите: