소프트웨어 공학에서 후킹은 운영체제나 응용 프로그램간 발생하는 함수 호출, 이벤트, 메시지를 중간에 바꾸거나 가로채는 행위를 말합니다. 운영체제나 응용 프로그램의 기능을 변경하거나 확장하기 위해 사용됩니다. 후킹은 주로 시스템, 응용 프로그램, 라이브러리의 동작을 제어하는데 사용되며, 디버깅과 보안 및 최적화와 같은 다양한 목적으로 사용됩니다.
이와 비슷한 개념으로, ‘웹훅’이 있습니다. 개발자라면, 혹은 업무 자동화에 관심이 많으신 분들이라면 웹훅이라는 용어를 많이 들어보셨을 거라 생각합니다. 웹훅은 애플리케이션에서 이벤트 발생 시, 다른 애플리케이션으로 이벤트에 대한 알림을 전송하는 매커니즘입니다. 덕분에, 두 애플리케이션 상호작용이 간편해집니다. 웹 훅을 이용하지 않는다면, 서버가 데이터를 응답해줄 때까지 지속적으로 폴링(polling)을 하거나 웹소켓을 통해 연결을 끊지 않고 통신하는 방법을 이용해야 합니다.
후킹과 웹 훅은 모두 어떤 동작이나 이벤트에 대한 개입이라는 공통점을 가지고 있지만, 후킹은 소프트웨어 공학에서의 함수 호출에 관련되며 웹 훅은 웹 서비스 간의 이벤트 통신에 초점을 둡니다. 이 두 기술은 각각 다른 영역에서 사용되기 때문에 명확한 차이를 인식하는 것이 중요합니다.
웹 훅(Webhook)의 개념 살펴보기 (10) | 2023.05.14 |
---|