What is Ajax / Ajax API
Context
Shopify AJAX API 문서를 읽다가 “AJAX API”라는 명칭이 정확히 무엇을 뜻하는지 헷갈려서 찾아봤다.
What I Learned
AJAX 자체의 의미
AJAX = Asynchronous JavaScript And XML
페이지를 새로고침하지 않고 서버와 데이터를 주고받는 브라우저 패턴이다. XML은 이름에만 남아 있고, 현재는 JSON을 주로 사용한다. fetch, XMLHttpRequest 등이 AJAX를 구현하는 수단이다.
Shopify에서 말하는 “AJAX API”
일반 API와 달리 스토어 프론트엔드 JS에서 직접 호출하도록 열어둔 unauthenticated HTTP 엔드포인트 묶음이다. 이름에 AJAX가 붙은 건 역사적·용도적 이유에 가깝다.
| 일반 API | Cart AJAX API | |
|---|---|---|
| 사용 주체 | 외부 시스템 / 백엔드 | 스토어 테마 JS |
| 인증 | 필요 | 불필요 (guest cart 가능) |
| 상태 관리 | - | 세션 기반 cart state |
흔한 오해
- ❌ “AJAX API = 다른 종류의 API” → 그냥 HTTP 엔드포인트
- ❌ “fetch랑 AJAX는 다른 기술” → fetch는 AJAX를 구현하는 방법 중 하나
- ❌ “특별한 프로토콜” → 그냥 HTTP
Note
“AJAX API”라는 이름은 기술적 특이성보다 **설계 의도(프론트엔드에서 바로 쓸 수 있는 unauthenticated 엔드포인트)**를 나타내는 표현에 가깝다.