1. Ajax란?
-
Ajax(Asynchronous JavaScript and XML)란 자바스크립트를 사용하여 브라우저와 서버간에 비동기 방식으로 데이터를 주고받을 수 있는 기술이다. Ajax는 브라우저에서 제공하는 XMLHttpRequest 객체를 기반으로 동작하며 해당 객체는 HTTP 비동기 통신을 위한 메서드와 프로퍼티를 제공한다.
-
일반적으로 axios와 fetch으로 개발시 이를 활용한다.
2. 장점?
- 서버로부터 웹 페이지 갱신에 필요한 데이터만을 비동기 방식으로 전송받아 페이지의 일부만을 갱신할 수 있다. 따라서 리로드의 과정속에서 낭비되는 자원을 아낄 수 있으며 비동기 방식으로 인해 블로킹이 발생하지 않는다.
3. 단점?
- 히스토리가 관리 되지 않는다.
- 페이지 이동없는 통신으로 인한 보안상의 문제가 있다.
- 연속으로 데이터를 요청하면 서버 부하가 증가할 수 있다.
- XMLHttpRequest를 통해 통신하는 경우, 사용자에게 아무런 진행 정보가 주어지지 않는다. (요청이 완료되지 않았는데 사용자가 페이지를 떠나거나 오작동할 우려가 발생하게 된다.)
- 동일-출처 정책으로 인하여 다른 도메인과는 통신이 불가능하다.
참고 사이트
https://99geo.tistory.com/65