네트워크

AJAX란?

닥치고개돌 2022. 4. 4. 18:35
728x90

AJAX (Asynchronous Javascript And XML)

정의

  • Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자
  • 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능
  • 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를 로드하는 기법
  • 즉, 쉽게 말하자면 자바스크립트를 통해서 서버에 데이터를 비동기 방식으로 요청하는 것이다.
  • 브라우저에서 http통신을 사용함.

XMLHttpRequest(XHR)

  • XMLHttpRequest(XHR) 객체는 서버와 상호작용하기 위하여 사용. 전체 페이지의 새로고침없이도 URL 로부터 데이터를 받아올 수 있다.
  • XMLHttpRequest 는 이름으로만 봐서는 XML 만 받아올 수 있을 것 같아 보이지만, 모든 종류의 데이터를 받아오는데 사용할 수 있습니다. 또한 HTTP 이외의 프로토콜도 지원합니다(file 과 ftp 포함).

 

Ajax 의 단점

  • 히스토리 관리가 안 된다. (보안에 좀 더 신경을 써야한다.)
  • 연속으로 데이터를 요청하면 서버 부하가 증가할 수 있다.
  • XMLHttpRequest를 통해 통신을 하는 경우사용자에게 아무런 진행 정보가 주어지지 않는다. 그래서 아직 요청이 완료되지 않았는데 사용자가 페이지를 떠나거나 오작동할 우려가 발생하게 된다. 
  • 동일-출처 정책으로 인하여 다른 도메인과는 통신이 불가능하다. (Cross-Domain문제)

 

 

 

728x90

'네트워크' 카테고리의 다른 글

각종 타임아웃(timeout)설명과 설정 팁  (0) 2024.02.04
ip란?  (0) 2021.12.27
HTTP란?  (0) 2021.12.24