HTTP Request 노드는 외부 API나 웹 서비스와 직접 통신할 수 있게 해주는 n8n의 핵심 노드예요. GET, POST, PUT, DELETE 등 다양한 HTTP 메서드를 지원해 데이터를 가져오거나 전송할 수 있습니다. 인증 방식(OAuth2, Basic Auth 등)과 헤더, 쿼리 파라미터, 바디 등을 자유롭게 설정할 수 있어 확장성이 뛰어납니다. 별도의 전용 노드가 없는 서비스도 HTTP Request 노드를 활용하면 연동이 가능해 자동화 범위가 넓어집니다. 주로 외부 API 호출, 웹훅 연계, 데이터 수집·전송 등 다양한 통합 작업에 활용됩니다.
안녕하세요, 낙노즈입니다.
이번 글에서는 지난 글에서 작성한 워크플로우에서 잠깐 사용했던 HTTP Request에 대해 자세히 알아볼게요.
📑 목차
HTTP 기본 이해
HTTP Request 노드 개요
HTTP Request 노드는 외부 사이트와 통신하는 핵심 노드예요. 메서드, URL, 쿼리 파라미터, 헤더, 바디, 인증, 타임아웃 등 옵션을 설정해서 실제 서비스와 연동할 수 있어요.
HTTP 메서드 개념: GET / POST
HTTP에는 여러 메서드가 있어요. GET(조회), POST(등록/제출), PUT/PATCH(수정), DELETE(삭제)처럼요. 이 글에서는 가장 자주 쓰는 GET과 POST를 중심으로 설명해요. 아래 예제를 따라 하면서 각각의 차이(데이터를 어디에 담아 보내는지, 멱등성 등)를 자연스럽게 익혀봐요.
GET
서버에 있는 정보를 읽어오는 용도예요. 주소 뒤에 쿼리(Query)를 붙여 값을 보내요.
예: https://www.google.com/search?q=http+method
물음표 뒤의 값이 쿼리(Query)예요.
- 서버의 리소스를 조회할 때 써요.
- 바디 없이 URL/쿼리로 전달하는 게 일반적이에요.
- 멱등성, 캐싱에 적합해요. 성공 시 보통
200 OK
예요. - 데이터 전달 방식: URL의 Query에 담아요 (주소창에 보임)
POST
서버에 새로운 정보를 보낼 때 써요. 실제 데이터는 요청 바디(Body)에 담겨요. URL에는 드러나지 않아서 폼 전송, 로그인, 주문 같은 작업에 자주 써요.
- 서버에 데이터 생성/전달할 때 써요.
- JSON, form-data 등 다양한 바디 형태를 지원해요.
- 멱등성이 없을 수 있어요.
- 성공 시 보통
201 Created
또는200 OK
예요. - 데이터 전달 방식: URL은 단순히 엔드포인트만, 실제 데이터는 Body에 담아요 (JSON, FormData 등)
httpbin.org로 기본 요청 테스트
https://httpbin.org는 HTTP를 테스트하기 위해 제공되는 서비스예요. 로컬에도 구성할 수 있지만,
간단한 실습을 위해 제공되는 클라우드 서비스를 이용할게요.
GET 요청 테스트
HTTP GET Method를 통한 요청을 해볼게요. N8N 워크 플로우에서 HTTP Request 노드를 추가해주시고, 아래와 같이 설정해주세요.
- 노드 추가: HTTP Request
- Method: GET
- URL:
https://httpbin.org/get
- Query:
name=n8n
,role=test
- Execute → 응답의
args
,headers
확인
https://httpbin.org/get?name=n8n&role=test
정상적으로 GET Method로 HTTP Request가 되어 우측의 OUTPUT에 Response된 값을 볼 수 있어요.
POST 요청 테스트
HTTP POST Method를 통한 요청을 해볼게요. 이전 GET 실습 시 추가한 HTTP Request Node의 설정만 아래와 같이 바꿔주세요.
- Method: POST, URL:
https://httpbin.org/post
- Body: JSON,
{"username":"n8n","role":"tester"}
- Headers:
Content-Type: application/json
(자동 설정일 수 있어요) - Execute → 응답의
json
필드에서 바디 확인
POST https://httpbin.org/post
Content-Type: application/json
{"username":"n8n","role":"tester"}
정상적으로 POST Method로 HTTP Request가 되어 우측의 OUTPUT에 Response된 값을 볼 수 있어요.
인증과 보안 테스트
인증 (Basic / Bearer)
일부 웹 서비스의 APi를 사용하기 위해서 인증을 수행하는 경우가 있어요. 간단하게 API Key로 인증하는 경우도 있지만,
ID/PW 또는 토큰 기반으로 인증해야할 수도 있어요. 그래서 이번에는 N8N에서 인증이 필요한 API를 만든 후 테스트해볼게요.
우선 Basic Auth와 Bearer Token에 대해 알아볼게요.
- 아이디/비밀번호를 Base64로 인코딩해
Authorization: Basic ...
헤더에 담아요. - 구현이 간단하지만, 항상 HTTPS에서만 써야 안전해요.
- 작은 내부 API나 간단한 테스트에 자주 써요.
- 서버가 발급한 토큰 문자열을
Authorization: Bearer <토큰>
으로 보냅니다. - 아이디/비밀번호 대신 토큰으로 인증하므로, 만료시간/권한 등을 분리해 보안과 유연성을 높일 수 있어요.
- JWT(JSON Web Token)를 Bearer로 쓰는 경우가 많아요:
- 형태:
header.payload.signature
(각각 Base64URL 인코딩) - payload 예시: 사용자 ID, 권한(scope/role),
exp
(만료 시각) 등 - 검증: 서버(또는 인증 서버)가 서명(signature)을 확인해 위조 여부를 검증해요.
- 형태:
- 대부분의 외부 API(OAuth2 계열)에서 표준처럼 사용돼요.
N8N 자격증명(인증) 추가 및 테스트
이제 실제 인증이 필요한 엔드포인트를 시험하기 전에, N8N에 자격증명을 등록해둘게요.
Basic Auth Credential 추가
- 좌측 Credentials → New → HTTP Basic Auth
- Username/Password 입력
- 상단 생성할 Basic Auth 이름 지정 -> Save
테스트용 Webhook 생성(Basic Auth)
- 좌측 [+] -> Workflow 새로운 워크 플로우 생성
- 노드 추가 [ + ] 선택 -> [ On webhook call ] 선택
- 노드 더블 클릭으로 구성창 열기
- Authentication에서 Authentication = Basic Auth 선택 → 생성한 Basic Auth Credentials 지정
- 상단 'Listen for test event' 선택
Basic Auth 테스트
- 이전에 만들어둔 HTTP Request 노드 구성 창 열기
- URL: '테스트용 Webhook 생성(Basic Auth)' 에서 만들어진 URL 입력
- Authentication에서 Geniric Credential Type - Basic Auth 선택 → 생성한 Basic Auth Credentials 지정
- Execute → 응답 확인
Bearer Auth Credential 추가
- Credentials → New → JWT Header Auth
- JWT Auth account에서 'Secret' 부분에 암호 키 입력 *(추정하기 어려운 암호 사용 권장)
테스트용 Webhook 생성(Bearer Auth)
- 좌측 [+] -> Workflow
- 노드 추가 [ + ] 선택 -> [ On webhook call ] 선택
- 노드 더블 클릭으로 구성창 열기
- Authentication에서 Authentication = JWT Auth 선택 → 생성한 JWT Auth Credentials 지정
Bearer Auth 테스트
Bearer Auth 테스트에서는 JWT 토큰을 사용할거에요.
그런데 JWT 토큰은 우리가 만들어서 입력해야합니다.
관련된 문서는 제가 작성한 JWT글 참고해주세요.
2025.09.06 - [기타] - JWT(Json Web Token)
JWT(Json Web Token)
JWT(Json Web Token)는 웹에서 사용자 인증과 정보 교환에 널리 쓰이는 토큰 기반 인증 방식이에요. 세 부분(Header, Payload, Signature)으로 구성되어 있고, Base64URL로 인코딩되어 문자열 한 줄로 표현됩니다
knockknows.com
- 이전에 만들어둔 HTTP Request 노드 구성 창 열기
- URL: '테스트용 Webhook 생성(Bearer Auth)' 에서 만들어진 URL 입력
- Authentication에서 Geniric Credential Type - Bearer Auth 선택 → [ Create new Credential ]
- JWT Auth 생성 시 입력한 Secret 키 기반으로 JWT 토큰 생성 후 선택
- Execute → 응답 확인
정리
이번 글에서는 HTTP Request와 인증에 대해서 알아봤어요.
여러 서비스를 통합할 때 인증이 필요한 부분들이 있기 때문에 꼭 알아야하는 기능들이에요.
다음엔 N8N을 활용할 수 있는 유익한 글을 작성해보겠습니다.
낙노즈였습니다.
감사합니다.
'N8N' 카테고리의 다른 글
N8N 사용법 - 워크플로우(Workflow) 및 뉴스 RSS 피드 엑셀 저장 (0) | 2025.09.04 |
---|---|
N8N 사용법 - 인터페이스 소개 (0) | 2025.09.03 |
N8N 셀프 호스팅 구축기 (5) - CloudFlare Domain + Hetnzer VPS + Docker Compose + N8N (하) (5) | 2025.08.29 |
N8N 셀프 호스팅 구축기 (5) - CloudFlare Domain + Hetnzer VPS + Docker Compose + N8N (상) (5) | 2025.08.27 |
N8N 셀프 호스팅 구축기 (4) - Docker Compose를 통한 Self-Signed N8N, Redis, Postgres, N8N Worker 배포하기 (9) | 2025.08.25 |