[Ajax] Chap 1. Ajax 장단점, 동기식 vs 비동기식 처리 모델
- Asynchronous JavaScript and XML
- 서버로부터 데이터를 가져와 전체 페이지를 새로 고치지 않고 일부만 로드할 수 있게 하는 기법으로 비동기식 요청을 보내는데 필요한 기술
- 2005년 2월 제시 제임스 카렛이 처음 사용하면서 알려지게 되었음
- ajax는 JavaScript 방식과 jQuery 방식이 있음
Ajax의 장단점
-
장점
- 비동기식 방식으로 웹 서버의 응답을 기다리지 않고 데이터를 빠르게 처리하는 개발기법,
페이지 리로딩 없이 처리 됨
ex) 실시간 검색어, 검색어 자동 완성, 아이디 중복체크 등...
-
단점
- 한 페이지에 지속적으로 사용시 리소스가 계속 쌓여 페이지가 느려짐
- 스크립트로 되어 있어 에러 발생시 디버깅이 어려움
비동기식 처리 모델(ASynchronous processing model)
- 병력적으로 task를 수행
- task가 종료되지 않은 상태라도 대기하지 않고 다음 task 실행
- 서버에서 데이터를 가져와 화면에 표시할 때,
서버에 데이터를 요청한 후 서버로부터 데이터가 응답 될때 까지 대기하지 않고(Non-Blocking) 즉시 다음 task 수행함
이후 서버로 부터 데이터가 응답되면 이벤트가 발생하고 이벤트 핸들러가 데이터를 가지고 수행할 task를 계속 수행함
동기식 처리 모델(Synchronous processing model)
- 직렬적으로 task를 수행
- task는 순차적으로 실행되며 어떤 작업이 수행 중이면 다음 작업은 대기함
- 서버에서 데이터를 가져와서 화면에 표시할 때, 서버에 데이터를 요청하고 데이터가 응답 될때 까지 이후 task들은 블로킹(blocking, 작업 중단) 됨