Ajax(Asynchronous JavaScript and XML)란?
비동기 통신 방법이며 빠르게 동작하는 동적인 웹 페이지를 만들기 위한 개발 기법 중 하나이다. XMLHttpRequest 객체를 이용하여 웹 페이지 전체를 다시 로딩하지 않고 일부분만 갱신할 수 있다. Ajax는 백그라운드 영역에서 서버와 통신하며 그 결과를 웹 페이지의 일부분에만 표시할 수 있다.
Axios란?
브라우저, Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리이다
Promise란?
-- JavaScript에서 제공하는 API로 비동기 처리에 사용되는 객체이다.
서버에서 받아온 데이터를 화면에 표시할 때 사용하며 비동기 처리에서 발생 할 수 있는 오작동을 해결하여 코드의 실행 흐름에서 비동기처리를 유연하게 하도록 도와준다.
브라우저 호환성이 뛰어나다.
promise 기반으로 다루기가 쉽다.
response timeout 처리 방법이 있다.
-- timeout이란?
응답을 무한정 기다릴 수 없기 때문에 기다릴 시간을 정해 자동적으로 중단 되는 것을 말한다.
fetch란?
JavaScript 내장 라이브러리로 서버에서 데이터를 가져오기 위해 사용된다. axios와 마찬가지로 Promise 기반으로 만들어져 데이터 처리가 비교적 쉽다.
| Ajax | Axios | Fetch |
|---|---|---|
| 요청객체에 url 존재 | 요청객체에 url 존재 | 요청객체에 url 미존재 |
| 요청 취소가 가능하다. | 요청 취소가 가능하다. | 요청 취소가 불가능하다. |
| timeout 설정방법이 존재한다. | timeout 설정방법이 존재한다. | timeout 설정방법이 없다. |
🙇 참고 사이트 🙇
http://www.tcpschool.com/ajax/ajax_intro_basic https://cocoon1787.tistory.com/756 https://devscb.tistory.com/66