Axios vs Got
어떤 HTTP 클라이언트를 쓸까?
기본
| Axios | Got | |
|---|---|---|
| 주간 다운로드 | 11981만 | 3880만 |
| 최근 릴리스 | 14일 전 | 38일 전 |
| 유지보수 | 활발 | 활발 |
| 열린 이슈 | 65 | 0 |
유지보수 상태는 최근 릴리스 간격만으로 판정합니다 (90일 이내 활발 · 270일 이내 둔화 · 그 이상 정체).
쓰다 보면 만나는 것
Axios
- 거슬림
axios 1.19.0이 request 반환 타입 R의 기본값을 export하지 않은 unique symbol 브랜드 타입으로 두면서, 이를 재노출하는 패키지의 TypeScript 선언 파일 생성이 TS2527로 실패한다.
1.19.0의 index.d.ts에서 노출되지 않은 unique symbol이 request 시그니처의 기본 타입에 쓰여, axios 타입을 다시 내보내는 라이브러리(예: openapi-generator의 typescript-axios 클라이언트)의 declaration emit이 TS2527로 중단된다. 생성 코드에 명시적 Promise<R> 주석과 캐스팅을 넣거나 axios를 1.19.0 이전 버전으로 고정하는 것이 현재 우회법이다. 원본 이슈와 Cambridge GitLab의 CI 템플릿 패치 MR이 동일한 1.19.0 타입 회귀를 가리킨다.
2026-08 · 미해결 · 1.19.0
Got
- 거슬림
최신 메이저는 순수 ESM이라 CommonJS 프로젝트에서 require()로 쓸 수 없다
공식 README가 명시한다 — "This package is native ESM and no longer provides a CommonJS export." CJS 코드베이스는 동적 import()로 우회하거나 구버전에 머물러야 하는데, 구버전(v11)은 유지보수가 끝났다. ESM 전환 당시 생태계 전반에서 큰 마찰이 있었고 지금도 CJS 레거시 프로젝트에는 실질 제약이다.
2026-08 · 미해결
이럴 땐 이걸
- Node 서버에서 재시도·훅 등 풀기능 → Got
- 레거시 호환·팀의 기존 관성 → Axios