Ajax: 비동기 웹 통신 기술의 핵심 이해하기

1. Ajax(Asynchronous JavaScript And XML)란?
- 정의: 웹 페이지 전체를 새로고침하지 않고, 서버와 데이터를 비동기적으로 교환하여 페이지 일부만 갱신하는 기술적 개념.
- 특징: 독립된 프로밍 언어가 아니라, 브라우저 내장 기능을 활용하는 방식임.
- 장점: * 사용자 경험(UX) 향상: 화면 끊김 없는 자연스러운 인터랙션 제공.
- 자원 효율성: 필요한 데이터만 주고받아 네트워크 부하 감소.
- 대표 사례: 실시간 검색어, 무한 스크롤, 댓글 등록, 주식 시세 업데이트 등.
2. 비동기 통신(Asynchronous)의 이해
- 개념: 요청을 보낸 후 응답을 기다리는 동안 프로그램이 멈추지 않고, 다른 작업을 동시에 수행하는 방식.
- 처리 방식: 응답이 도착하면 콜백(Callback) 함수나 프로미스(Promise)를 통해 결과를 처리.

3. Ajax 구현을 위한 주요 기술 및 라이브러리
웹 기술의 발전에 따라 구현 방식이 진화해 왔습니다.
| 구분 | 특징 | 비고 |
| XMLHttpRequest | 전통적인 방식, 브라우저 내장 객체 | 콜백 기반으로 코드가 복잡함 |
| fetch API | ES6 표준 API, Promise 기반 | 가독성이 좋으며 async/await와 궁합이 좋음 |
| Axios | 별도 설치가 필요한 라이브러리 | HTTP 요청 취소, 자동 JSON 변환 등 편리한 기능 제공 |
| jQuery Ajax | $.ajax() 형태의 라이브러리 | 과거 표준이었으나 최근 사용 비중 감소 |
4. 현대적인 데이터 처리: fetch & async/await
- fetch(url, options): 서버에 HTTP 요청을 보내는 함수. options를 통해 method, headers, body 설정 가능.
- async/await: 비동기 코드를 마치 동기 코드처럼 직관적으로 작성하게 해주는 문법.
5. 데이터 교환의 표준: JSON (JavaScript Object Notation)
- 특징: 텍스트 기반의 경량 데이터 형식. 사람과 기계 모두 읽기 쉬움.
- 핵심 메서드:
- JSON.stringify(obj): 자바스크립트 객체를 JSON 문자열로 변환 (서버로 보낼 때).
- JSON.parse(text): JSON 문자열을 자바스크립트 객체로 변환 (서버에서 받을 때).
💡 핵심 정리:
Ajax는 현대 웹 개발의 필수 요소입니다. 과거에는 XMLHttpRequest를 썼지만, 현재는 fetch API나 Axios를 async/await와 함께 사용하는 것이 표준입니다. 데이터 형식은 XML보다 JSON이 압도적으로 많이 사용됩니다.
fecth()API 가 Promise이기 때문에 비동기 통신이다.
Axios는 JSON으로 데이터를 주고받는다.
JSON이란
JSON (JavaScript Object Notation)은데이터를 저장하고 전송할 때 사용하는 경량의 데이터 형식으 로 텍스트 기반이기 때문에 사람이 읽기 쉽고, 기계도 분석하기 쉽다. 웹 클라이언트(브라우저)와 서버 간의 데이터 교환에 자주 사용된다


'Dev > React' 카테고리의 다른 글
| [React Axios] .then / async-await 함수 비교 실습 (0) | 2026.04.09 |
|---|---|
| [React] fetch + async + await 실습 (1) | 2026.04.09 |
| [React] TodoList 실습으로 핵심 문법 - 데이터 전달과 CRUD (0) | 2026.04.08 |
| [React] Hooks 실습 예제 , useEffect , useMemo (0) | 2026.04.06 |
| [React] ustState 예제 - 구조분해할당, Map (0) | 2026.04.06 |