웹훅
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
웹훅은 "사용자 정의 HTTP 콜백"으로, 특정 이벤트 발생 시 미리 설정된 URL로 HTTP 요청을 보내도록 설계되었다. 코드 푸시, 댓글 게시 등 다양한 이벤트에 의해 트리거되며, 한 사이트의 이벤트를 다른 사이트의 동작을 호출하는 데 사용된다. 지속적 통합 시스템에서 빌드를 트리거하거나 버그 추적 시스템에 알림을 보내는 등 다양한 사용 사례가 있으며, HTTP를 사용하여 웹 서비스에 쉽게 통합될 수 있다. 웹훅 호출 시 스푸핑 공격과 재생 공격을 방지하기 위해 HTTP 기본 인증, 공유 비밀 키, HMAC 서명, SHA-1 서명, 상호 TLS 인증, IP 주소 제한 등 다양한 인증 기술이 사용된다.
더 읽어볼만한 페이지
- 웹 기술 - 공용 게이트웨이 인터페이스
공용 게이트웨이 인터페이스(CGI)는 웹 서버가 외부 프로그램을 실행하기 위한 표준 인터페이스이며, 웹 서버가 클라이언트 요청에 응답하여 프로그램을 실행하고 그 결과를 클라이언트에 전송하는 방식으로 동작한다. - 웹 기술 - FastCGI
FastCGI는 웹 서버와 외부 애플리케이션 간 효율적인 통신을 위한 프로토콜로, CGI의 단점을 보완하여 지속적인 프로세스를 통해 웹 애플리케이션의 성능과 안정성을 향상시킨다. - 이벤트 (컴퓨팅) - 메시지 큐
메시지 큐는 프로세스나 스레드 간 비동기 통신을 제공하여 송신자와 수신자가 동시에 상호 작용할 필요 없이 메시지를 교환하도록 하며, 메시지는 수신자가 검색할 때까지 저장되고 시스템 장애 시 복원력을 제공하지만 보안 취약점, 특정 기업 종속성 등의 논란도 존재한다. - 이벤트 (컴퓨팅) - 비동기 입출력
비동기 입출력은 입출력 완료를 기다리지 않고 다른 작업을 처리하는 방식으로, 완료 시 콜백이나 시그널을 통해 결과를 알려주어 효율적인 자원 활용과 성능 향상을 가져다준다. - HTTP - HTTPS
HTTPS는 HTTP에 보안 기능이 더해진 통신 규약으로, 웹 브라우저와 서버 간 통신을 암호화하여 보안을 강화하지만, 인증서 비용, 서버 부하, 혼합 콘텐츠 문제 등의 단점도 존재한다. - HTTP - HTTP 쿠키
HTTP 쿠키는 웹 서버가 사용자 브라우저에 저장하는 작은 텍스트 파일로, 웹 사이트가 방문 기록, 로그인 정보 등을 기억하여 HTTP의 상태 비저장성을 보완하고 세션 관리, 개인 설정, 사용자 추적 등에 활용되지만 개인 정보 보호 및 보안 문제에 대한 논란이 있다.
웹훅 |
---|
2. 기능
웹훅은 "사용자 정의 HTTP 콜백"이다.[2] 일반적으로 코드 저장소에 코드를 푸시하거나,[3] 블로그에 댓글이 게시되는 등[5] 다양한 이벤트에 의해 트리거된다.[6] 해당 이벤트가 발생하면 소스 사이트가 웹훅에 대해 구성된 URL로 HTTP 요청을 보낸다. 사용자는 한 사이트에서 발생한 이벤트가 다른 사이트에서 동작을 호출하도록 웹훅을 구성할 수 있다.
클라이언트(원천 웹사이트 또는 애플리케이션)가 타사 사용자의 서버에 웹훅 호출을 할 때, 들어오는 POST 요청은 스푸핑 공격을 방지하기 위해 인증되어야 하며, 재생 공격을 방지하기 위해 타임스탬프가 확인되어야 한다.[10] 클라이언트를 인증하기 위해 다양한 기술이 사용된다.
일반적인 사용 사례는 지속적 통합 시스템으로 빌드를 트리거하거나[7] 버그 추적 시스템에 알림을 보내는 것이다.[8] 웹훅은 HTTP를 사용하므로 새로운 인프라를 추가하지 않고도 웹 서비스에 통합할 수 있다.[9]
3. 웹훅 알림 인증
3. 1. 인증 기술
클라이언트(원천 웹사이트 또는 애플리케이션)가 타사 사용자의 서버에 웹훅 호출을 할 때, 들어오는 POST 요청은 스푸핑 공격을 방지하기 위해 인증되어야 하며, 재생 공격을 방지하기 위해 타임스탬프가 확인되어야 한다.[10] 클라이언트를 인증하기 위해 다양한 기술이 사용된다.
참조
[1]
Citation
Web hook to revolutionize the web
http://progrium.com/[...]
2007-05-03
[2]
웹사이트
Webhooks
https://developer.at[...]
Atlassian
2019-09-24
[3]
Github
About Webhooks - Github Help
https://help.github.[...]
[4]
웹사이트
What are Webhooks?
https://viasocket.co[...]
[5]
WordPress
WordPress Webhooks
http://en.support.wo[...]
[6]
웹사이트
Use Cases for Webhooks
https://webhook-test[...]
[7]
Citation
Jenkins GitHub Commit Hooks HOWTO
http://wiki.cloudbee[...]
[8]
Google
Google Project Hosting - Post-Commit Web Hooks
https://code.google.[...]
[9]
웹사이트
What are WebHooks and How Do They Enable a Real-time Web?
http://blog.programm[...]
[10]
웹사이트
Why Verify
https://docs.svix.co[...]
Svix Inc.
2021-09-12
[11]
웹사이트
DocuSign Connect Now Includes Basic Authentication Support
https://www.docusign[...]
DocuSign, Inc.
2017-11-16
[12]
웹사이트
Securing your webhooks
https://docs.github.[...]
Github, Inc
2021-09-12
[13]
웹사이트
Checking Webhook Signatures
https://stripe.com/d[...]
Stripe, Inc
2019-05-12
[14]
웹사이트
Getting Started - Graph API - Documentation - Facebook for Developers
https://developers.f[...]
Facebook, Inc.
2019-05-12
[15]
웹사이트
Mutual TLS: Stuff you should know
https://www.docusign[...]
DocuSign, Inc.
2020-01-15
[16]
Citation
Web hook to revolutionize the web
http://progrium.com/[...]
2007-05-03
[17]
웹사이트
Webhooks
https://developer.at[...]
Atlassian
2019-09-24
[18]
Github
About Webhooks - Github Help
https://help.github.[...]
[19]
WordPress
WordPress Webhooks
http://en.support.wo[...]
[20]
Citation
Jenkins GitHub Commit Hooks HOWTO
http://wiki.cloudbee[...]
[21]
웹사이트
What are WebHooks and How Do They Enable a Real-time Web?
http://blog.programm[...]
[22]
웹사이트
DocuSign Connect Now Includes Basic Authentication Support
https://www.docusign[...]
DocuSign, Inc.
2020-01-15
[23]
웹사이트
Checking Webhook Signatures
https://stripe.com/d[...]
Stripe, Inc
2019-05-12
[24]
웹사이트
Getting Started - Graph API - Documentation - Facebook for Developers
https://developers.f[...]
Facebook, Inc.
2019-05-12
[25]
웹사이트
Mutual TLS: Stuff you should know
https://www.docusign[...]
DocuSign, Inc.
2020-01-15
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com