[기초] AJAX

Hailey·2022년 7월 15일
0

자료 링크 : http://www.tcpschool.com/ajax/intro

Ajax

(Asynchronous JavaScript And XML, 비동기적 JavaScript와 XML)

→ 서버에 네트워크 요청을 보내고 새로운 정보를 받아올 때, 페이지 새로고침 없이 가져오는 것

  • 페이지 새로고침 없이 서버에 요청
  • 서버로부터 데이터를 받고 작업을 수행

XML

→ HTML과 매우 비슷한 문자 기반의 마크업 언어(text-based markup language)

→ HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적

https://hanamon.kr/htm-xml-차이점/


<Ajax를 이용한 웹 응용 프로그램의 동작 원리>

① : 사용자에 의한 요청 이벤트가 발생합니다.

② : 요청 이벤트가 발생하면 이벤트 핸들러에 의해 자바스크립트가 호출됩니다.

③ : 자바스크립트는 XMLHttpRequest 객체를 사용하여 서버로 요청을 보냅니다.

이때 웹 브라우저는 요청을 보내고 나서, 서버의 응답을 기다릴 필요 없이 다른 작업을 처리할 수 있습니다.

④ : 서버는 전달받은 XMLHttpRequest 객체를 가지고 Ajax 요청을 처리합니다.

⑤와 ⑥ : 서버는 처리한 결과를 HTML, XML 또는 JSON 형태의 데이터로 웹 브라우저에 전달합니다.

이때 전달되는 응답은 새로운 페이지를 전부 보내는 것이 아니라 필요한 데이터만을 전달합니다.

⑦ : 서버로부터 전달받은 데이터를 가지고 웹 페이지의 일부분만을 갱신하는 자바스크립트를 호출합니다.

⑧ : 결과적으로 웹 페이지의 일부분만이 다시 로딩되어 표시됩니다.


Ajax 활용

검색어 추천 기능의 동작 순서

검색어 추천은 검색어를 입력하는 도중에 입력된 검색어와 유사한 검색어를 화면에 표시해 주는 기능입니다.

  1. 입력된 검색어를 Ajax 요청으로 서버에 전송함.

  2. 서버에서는 전송된 검색어를 이용하여 추천 검색어 목록을 작성함.

  3. 작성된 추천 검색어 목록을 Ajax 응답으로 클라이언트에 전송함.

  4. Ajax 응답으로 온 추천 검색어 목록을 처리하여, 화면에 출력함.


Ajax의 장점

1. 웹 페이지 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱신할 수 있습니다.

  1. 웹 페이지가 로드된 후에 서버로 데이터 요청을 보낼 수 있습니다.

3. 웹 페이지가 로드된 후에 서버로부터 데이터를 받을 수 있습니다.

4. 백그라운드 영역에서 서버로 데이터를 보낼 수 있습니다.

Ajax의 한계

Ajax를 이용하면 여러 장점을 가지지만, Ajax로도 다음과 같은 일들은 처리할 수 없습니다.

  1. Ajax는 클라이언트가 서버에 데이터를 요청하는 클라이언트 풀링 방식을 사용하므로, 서버 푸시 방식의 실시간 서비스는 만들 수 없습니다.

  2. Ajax로는 바이너리 데이터를 보내거나 받을 수 없습니다.

  3. Ajax 스크립트가 포함된 서버가 아닌 다른 서버로 Ajax 요청을 보낼 수는 없습니다.

4. 클라이언트의 PC로 Ajax 요청을 보낼 수는 없습니다.

Ajax 프레임워크

Ajax를 이용하여 개발을 손쉽게 할 수 있도록 미리 여러 가지 기능을 포함해 놓은 개발 환경을 Ajax 프레임워크라고 합니다.

이러한 Ajax 프레임워크 중에서도 가장 많이 사용되는 프레임워크는 다음과 같습니다.

  • Prototype
  • script.aculo.us
  • dojo
  • jQuery
profile
팀에서 꼭 필요한 프론트엔드 개발자가 되고 싶습니다.

0개의 댓글