Computer Engineering/Javascript

[jquery] Ajax(Asynchronous JavaScript and XML)

soohey 2022. 7. 18. 15:25

Ajax 란?

  • ‘Asynchronous JavaScript and XML’의 약자
  • 웹에서 화면갱신없이 서버로부터 데이터를 가져올 수 있다.
  • 브라우저에서 데이터를 ajax engine을 통해 서버로 전송한다.
  • 이 때 ajax engine에서는 javascript로 DOM을 사용해 XMLHttpRequest(XHR) 객체로 데이터를 전달한다.
  • 이 XHR을 이용해 서버에서 비동기 방식으로 자료를 조회할 수 있다.
  • 서버에서 데이터를 전달할때 화면전체 html을 전달하지 않고 text, xml형식으로 브라우저에 전달한다.

 

Ajax 사용하는 이유는?

  • 화면의 이동없이 데이터를 송수신하기 때문에 보안상 치명적인 문제를 일으킬 수 있다.
  • script기반이기 때문에 개발할때 디버깅이 불편해 어려움이 발생할 수 있음. -> 그럼에도 편리함이 더 많음

 

  • ajax를 사용하지 않을 경우 서버로 데이터 전송시 화면전체를 refresh해야 함. 사용자가 화면내에서 작업을 진행하는 와중에 초기화될 뿐 아니라 화면전체 조회등에 의해 서버에 부담을 주며 속도가 느려지게 함

 

  • ajax를 사용해서 서버와 데이터를 주고받으면 핵심 데이터만 전송하기에 화면깜빡임이 없으며 부담이 덜하고, 속도문제를 해결할 수 있다.

 

  • 화면마다 특유의 기능을 동작하기위한 active x가 있다. 이것 없이는 해당 화면을 조회할 때 제약이 따르기도하고, 화면마다 대부분 상이해서 여러 화면 조회시 다수의 active x를 설치하는 경우가 발생한다.
  • 이 때 ajax를 사용하면 화면전체를 조회하지 않기 때문에 이러한 Active x를 설치하지 않고도 원하지 않는 data를 조회할 수 있다.