[FE] AJAX(Asynchronous Javascript And XML) 이해하기

비니·2024년 1월 23일

Front-End

목록 보기
1/1
post-thumbnail

AJAX란?

AJAX는 Asynchronous JavaScript and XML의 약자로, 말 그대로 JavaScript와 XML을 이용한 비동기적 정보 교환 기법이다.

Ajax는 빠르게 동작하는 동적인 웹 페이지를 만들기 위한 개발 기법의 하나이다. Ajax는 웹 페이지 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱신할 수 있다.
즉 Ajax를 이용하면 백그라운드 영역에서 서버와 통신하여, 그 결과를 웹 페이지의 일부분에만 표시할 수 있다는 뜻이다. 이때 서버와는 다음과 같은 다양한 형태의 데이터를 주고받을 수 있다.

AJAX

  • JSON
  • XML
  • HTML
  • 텍스트 파일

비동기(asynchronous)란?

병렬적으로 태스크를 수행하는 방식

서버에 요청을 보낸 후 응답의 수락 여부와는 상관없이 다음 태스크가 동작하는 방식이다. a 태스크가 실행되는 시간 동안 b 태스크를 할 수 있으므로 자원을 효율적으로 사용할 수 있다.
이때, 비동기 요청시 응답 후 처리할 '콜백 함수'를 함께 알려준다. 따라서 해당 태스크가 완료되었을 때, '콜백 함수'가 호출된다.


AJAX 장점

  1. 웹 페이지 전체를 다시 로딩하지 않고도 웹 페이지의 일부분만을 갱신할 수 있다.
  2. 웹 페이지가 로드된 후에 서버로 데이터 요청을 보낼 수 있다.
  3. 웹 페이지가 로드된 후에 서버로부터 데이터를 받을 수 있다.
  4. 백그라운드 영역에서 서버로 데이터를 보낼 수 있다.

AJAX 한계

  1. Ajax는 클라이언트가 서버에 데이터를 요청하는 클라이언트 풀링 방식을 사용하므로 서버 푸시 방식의 실시간 서비스는 만들 수 없다.
  2. Ajax로는 바이너리 데이터를 보내거나 받을 수 없다.
  3. Ajax 스크립트가 포함된 서버가 아닌 다른 서버로 Ajax 요청을 보낼 수는 없다.
  4. 클라이언트의 PC로 Ajax 요청을 보낼 수는 없다.
profile
녕안

0개의 댓글