❓ AJAX : Asynchronous JavaScript and XML의 약자
빠르게 동작하는 동적인 웹 페이지를 만들기 위한 개발 기법의 하나
자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능
브라우저가 가지고 있는 XMLHttpRequest 객체를 이용하여 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를 로드하는 기법이다.
✔️ AJAX Pros and Cons
Pros ?
- 웹 페이지의 속도 향상
- 서버의 처리가 완료될 때까지 기다리지 않고 처리 가능
- 서버에서 Data만 전송하면 되므로 전체적인 코딩의 양이 줄어듬
- 기존 웹에서는 불가능했던 다양한 UI를 가능하게 해줌 → 동적 웹 페이지
Cons ?
- 히스토리 관리 되지 않음
- 페이지 이동없는 통신으로 인한 보안상의 문제
- 연속으로 데이터를 요청하면 서버 부하 증가 발생 가능성
- XMLHttpRequest를 통해 통신할 경우, 사용자에게 아무런 진행 정보가 주어지지 않음
→ 요청이 완료되지 않았는데 사용자가 페이지를 떠나거나 오작동에 대한 우려
- 브라우저 이슈 ( 지원하지 않는 )
- HTTP 클라이언트의 기능 한정
- 지원하는 Charset 한정
- Script로 작성되므로 디버깅이 용이하지 않음
- SOP 로 인하여 다른 도메인과는 통신 불가 ( Cross-Domain 문제 )