
Ajax
1️⃣ Ajax
Ajax란?
- Asynchronous JavaScript and XML의 약자
- JavaScript를 이용하여 비동기식으로 클라이언트와 서버가 데이터(XML)를 주고받는(통신) 방식
- 데이터 형식은 XML 뿐만 아닌 Text, HTML, JSON, CSV 등 다양한 형식 사용 가능
동기식 데이터 통신
클라이언트가 서버로 데이터를 요청하면 응답이 올 때 까지 다른 작업은 대기

비동기식 데이터 통신
클라이언트가 서버로 데이터 요청 후 응답을 기다리지 않고 다른 작업 수행 가능
추후 요청에 대한 응답이 오면 응답에 관련된 작업을 진행

2️⃣ Ajax 특징
- 전체 페이지를 갱신하지 않고 일부분만 업데이트 가능
- 사용자에게 즉각적인 반응과 풍부한 UI 경험을 제공 가능
- ActiveX나 플러그인 프로그램 설치 없이 이용 가능
- JavaScript 방식, jQuery 방식으로 구현 가능
3️⃣ Ajax 단점
- Ajax는 JavaScript이므로 브라우저에 따른 크로스 브라우저 처리가 필요함
- 오픈 소스로 차별화가 어려움
- 연속적인 데이터 요청 시 서버 부하 증가하여 페이지가 느려짐
- 페이지 내 복잡도가 증가하여 에러 발생 시 디버깅이 어려움
JSON
1️⃣ jQuery방식 Ajax
JSON
- JavaScript Object Notation (자바스크립트 객체 표현법)
- 간단한 포맷
▪ 괄호 {} 내에 key : value 쌍으로 구성 → { “key” : value }
▪ key → 반드시 문자열 사용 (쌍 따옴표(“”) 표기 필수)
▪ value → String, Number, Boolean, Array, Object, null 데이터 저장 가능
(단, char 데이터는 저장 불가)
- 객체{} 또는 배열[] 데이터를 효율적으로 표시 가능
JSON 특징
- Ajax 통신에서 Object 타입의 데이터 전송 시 XML 대비 용량이 작고 속도가 빠름
→ 경량 데이터 교환 방식
- 간단한 포맷을 가지고 있어 이해하기 쉬움
- 순수 TEXT 기반
▪ 구조화된 TEXT 형식
▪ 대부분의 프로그래밍 언어에서 JSON 포맷 데이터를 핸들링 할 수 있는 라이브러리를 제공 → 시스템간 객체 교환에 용이
GSON
1️⃣ jQuery방식 Ajax
GSON
- Google JSON의 약어
- Google에서 만든 오픈 라이브러리로 JSON파일을 쉽게 읽고, 만들 수 있는 메소드 제공
- toJSON(Object, Appendable)
▪ 매개변수 Object를 JSON으로 변환하여 Appendable에 연결된 출력스트림으로
출력하는 메소드
▪ 기존 JSON방식으로 변환하기 번거로웠던 List, Map 객체를
별도의 방법이 아닌 toJson()메소드 하나도 쉽게 JSON으로 변환 가능
▪ List, Map 뿐만 아닌 모든 Object 변환 가능.