Webhooks
: url 설정을 해두고 필요할 때 요청
: 설정되어 있는 url 로 데이터 응답
: 앱으로 받아야 할 이벤트 알림 수가 적은 경우 Webhooks가 더 나은 솔루션
: 알림을 받도록 간단한 엔드포인트를 설정하는 것이 효율적
* HTTP 프로토콜을 사용
- HTTP POST 요청을 수신할 때 엔드포인트 URL만 필요하므로 일반적으로 구현하기가 더 쉬움
* 신뢰성 낮음
- 이벤트가 발생하면 Webhooks는 특정 URL로 알림을 전송
- 하지만 엔드포인트에 문제가 있는 경우 이벤트 알림이 올바르게 처리되지 않을 수 있음
WebSockets
: 채팅처럼 주고 받는
: 요청과 응답이 많을 때 적합
: WebSockets는 클라이언트와 서버를 직접 연결하여 중간자의 공격을 받을 위험이 없으므로 보안 계층이 한층 강화
: 개발자가 연결을 열었을 때만 데이터가 전송되고 닫기 전까지 계속 열려 있으므로 더욱 안정적으로 연결을 유지
* WebSocket 프로토콜을 사용
- 액세스 토큰을 얻고 서버에 대한 연결을 여는 작업을 포함하여 조금 더 복잡하게 설정
* 이중 커뮤니케이션 채널을 제공
- 클라이언트와 서버 간에 단일 연결 설정
- 추가적으로 HTTP 요청을 하지 않아도 실시간으로 데이터 교환 가능
- 지속적인 연결을 통해 Webhooks보다 이벤트 알림을 더 빠르게 전달하고 리소스를 더 효율적으로 사용
* 신뢰성 높음
- 서버와 지속적으로 연결하며 더 일관적이고 안정적인 커뮤니케이션을 유지
- 돌돌님의 설명
참고 자료
https://blog.zoom.us/ko/a-guide-to-webhooks-and-websockets/
https://blog.bitsrc.io/apis-vs-websockets-vs-webhooks-what-to-choose-5942b73aeb9b
'IT > 기타 소소한 공부 (aka. ITMI)' 카테고리의 다른 글
[ITMI] SDK & API (0) | 2023.07.19 |
---|---|
[소소한 ITMI] web1.0 & web2.0 (0) | 2023.07.17 |
[소소한 ITMI] requirement.txt 의 필요성 (0) | 2023.02.23 |