- Published on
fetch, axios 란? (with Fetch)
- Authors

avatar - Name
- Deokgoo Kim
들어가기전
라이브러리를 사용할 수 없는 환경에서 js를 작성한적이 있었는데
XMLHttpRequest을 사용하여 낡은 코드를 작성한다고(2019년에) 코칭을 받고 충격받은 적이 있어 Axios, Fetch에 대해서 정리 하였습니다.
본론
1. Fetch
XMLHttpRequest API의 대체제로 간단하게 사용하는 것이 가능합니다.
특징
- Promise패턴을 사용하고 있습니다.
- Promise 객체는 HTTP error 상태를 reject하지 않습니다. 대신 ok 상태가 false인 resolve가 반환되고 네트워크 에러 상태에는 reject가 반환됩니다.
- 기본적으로 fetch는 쿠키를 보내거나 받지 않습니다. (필요하면 credentials설정을 통하여 쿠키 전송)
- 간단하게 사용할 수 있으며 module import가 필요없다.
👇 MDN에 정리가 잘되어있어서 가져왔습니다. MDN 참고
postData('http://example.com/answer', {answer: 42})
.then(data => console.log(JSON.stringify(data)))
.catch(error => console.error(error));
function postData(url = '', data = {}) {
return fetch(url, {
method: 'POST',
mode: 'cors',
cache: 'no-cache',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/json',
},
redirect: 'follow',
referrer: 'no-referrer',
body: JSON.stringify(data),
})
.then(response => response.json());
}
2. Axios
Axios는 브라우저를 위한 Promise패턴 기반으로 브라우저와 node에서 동작한다고 한다. nodejs에서는 http모듈을 사용하고 브라우저에서는 XMLHttpRequests를 사용한다고 합니다.
특징
- 브라우저에서 XMLHttpRequests, node.js에서 http
- Promise패턴 사용
- 요청 및 응답 가로채기
- 요청 및 응답 데이터 변환
- 취소요청
- JSON 데이터에 대한 자동 변환 (너무 편합니다❤️)
- XSRF 로부터 보호하기 위한 클라이언트 측 지원
👇 Document내용을 가져왔습니다. axios document 참고
// GET request for remote image in node.js
axios({
method: 'get',
url: 'http://bit.ly/2mTM3nY',
responseType: 'stream'
})
.then(function (response) {
response.data.pipe(fs.createWriteStream('ada_lovelace.jpg'))
});
결론
- 결론은 둘다 XMLHttpRequest의 대체제로 나왔고 Promise패턴을 사용할 수 있는것이 너무 좋습니다.
- Fetch에 비해 Axios가 좀 더 많은 기능들이 있습니다.
- 허나 axios는 모듈 설치가 필요하기 떄문에 안정적이지 못한 프레임워크를 사용할떄는 불안합니다.
- 모듈 설치 환경이 안되거나 프레임워크가 불안정하다
Fetch - 안정적이고 모듈 설치가 가능하다
Axios
관련 글
2021년 9월 12일
fetch vs axios 차이점과 선택 기준 정리
XMLHttpRequest 대신 fetch와 axios를 써야 하는 이유, 두 라이브러리의 차이점(JSON 자동 변환, 에러 처리, 쿠키 전송)과 선택 기준을 정리했습니다.
2025년 12월 27일
HTTP/2 실무 현실 점검하기 (2편): 백엔드와 프론트엔드 개발자가 실제로 확인하는 방법
실무에서 HTTP/2를 제대로 활용하고 있는지 확인하는 구체적인 방법들을 소개합니다. 브라우저 개발자 도구, 백엔드 서버 설정, 프론트엔드 최적화 점검부터 성능 측정까지 실제 프로젝트에서 바로 적용할 수 있는 실무 가이드입니다.
2025년 12월 27일
HTTP/2 탄생 배경과 핵심 기술 이해하기 (1편): APLN 오류로 시작된 HTTP/2 학습기
APLN 오류를 겪으며 깨달은 HTTP/2 지식 부족. HOL 블로킹 문제부터 Google SPDY, 그리고 HTTP/2의 4가지 핵심 기술까지 체계적으로 정리했습니다.
댓글
새 글 알림 받기
실무에서 바로 써먹을 수 있는 개발 팁과 경험담을 받아보세요
개인정보는 뉴스레터 발송 목적으로만 사용되며, 언제든 구독을 해지할 수 있습니다.