- 웹훅을 쉽고, 안전하고, 안정적으로 전송하기 위한 오픈소스 도구 및 가이드 라인
- Zapier, Twilio, ngrok, Supabase, Kong 등의 엔지니어들이 기술 운영 위원회를 구성
- Standard Webhooks 소개
- 웹훅은 점점 더 대중화되고 있으며, 세계 유수의 기업에서 자사 API 사용자에게 이벤트를 전송하는 데 사용중
- 하지만 웹훅 제공업체마다 서로 다른 구현 방식과 다양한 품질을 사용하는 등 생태계가 세분화되어 있음
- 심지어 고품질의 구현도 다양하기 때문에 본질적으로 호환되지 않아, 이러한 파편화는 공급자와 소비자 모두에게 고통이며 혁신을 저해함
- 소비자 입장에서는 공급자마다 웹훅을 다르게 처리하고, 웹훅을 검증하는 방법을 다시 배워야 하며, 맞춤형 구현으로 인해 문제가 발생하기도 함
- 공급자의 입장에서는 이미 해결된 문제(보안, 이전 버전과의 호환성 등)에 대해 다시 설계해야 한다는 것을 의미
- 우리는 업계 전반에 걸쳐 웹훅을 표준화하는 간단한 솔루션을 제안함
- 이 디자인 문서에서는 기존 업계 모범 사례를 기반으로 한 엄격한 웹후크 가이드라인을 제안하며, 이를 "Standard Webhooks"라고 부름
- "Standard Webhooks"는 JWT가 API 인증을 위해 수행한 일을 웹후크에서도 수행할 수 있다고 믿음
- 일관되고 다양한 구현에서 지원되는 공통 프로토콜을 채택하면 위의 문제를 해결하고 웹후크 생태계의 새로운 도구와 혁신을 가능하게 할 것
- 이를 위해 우리는 웹후크 전송을 위한 오픈 소스 및 커뮤니티 중심의 도구와 가이드라인을 만들었음
- 디자인 목표 : 보안, 신뢰성, 상호 운용성, 단순성, 이전 버전 및 이후 버전과의 호환성
- Payload 는 HTTP Body에 넣어서 보내지면, JSON 으로 구성. 최대 크기 제한은 없으나 20kb 이하를 권장
- 웹훅의 Authenticy 확인을 위해 메타데이터 및 Signature Scheme을 정의