반응형
AJAX란?
- 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 로드하지 않고 필요한 일부 페이지의 데이터만을 로드하는 기법
- 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술
- 하이퍼텍스트 표기 언어(HTML)만으로는 어려운 다양한 작업을 웹 페이지에서 구현해서 이용자가 웹 페이지와 자유롭게 상호 작용할 수 있도록 구현하는 기법
비동기란 ? 특정 코드가 끝날때 까지 코드의 실행을 멈추지 않고 다음 코드를 먼저 실행하는 것을 의미
AJAX의 동작 원리
클라이언트에서 서버로 데이터 요청, 그에 대한 결과를 반환받음 = 서버와 클라이언트의 통신
- 사용자에 의한 요청 이벤트 발생
- 요청 이벤트가 발생하면 이벤트 핸들러에 의해 자바스크립트 호출
- 자바스크립트는 XMLHttpRequest 객체를 사용하여 서버로 요청, 이때 웹 브라우저는 요청을 보내고 나서 서버의 응답을 기다릴 필요 없이 다른 작업 처리 가능
- 서버는 전달받은 XMLHttpRequest 객체를 가지고 AJAX 요청을 처리
- 서버는 처리한 결과를 HTML, XML, JSON 형태의 데이터로 웹 브라우저에 전달
- 서버로 전달받은 데이터를 가지고 웹 페이지의 일부분만을 갱신하는 자바스크립트를 호출
- 결과적으로 웹 페이지의 일부분만이 다시 로딩되어서 표시
AJAX의 장단점
장점
- 웹 페이지의 속도 향상
- 서버의 처리가 완료될 때까지 기다리지 않고 다른 작업 처리 가능
- 서버에서 데이터만 전송하면 되므로 전체적인 코딩의 양이 줄어든다.
단점
- 페이지 이동없는 통신으로 인한 보안상의 문제 존재
- 연속으로 데이터를 요청하면 서버 부하가 증가할 수 있음
- 히스토리 관리가 되지 않음
AJAX의 주요 기술
- XMLHttpRequest : 웹 브라우저와 웹 서버 간에 메서드가 데이터를 전송하는 객체 폼의 API
- Javascript : 객체 기반의 스크립트 프로그래밍 언어
- XML(Extensible Markup Language) : HTML의 단점을 보완한 인터넷 언어로서 SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어
- DOM(Document Object Model) : XML 문서를 트리 구조의 형태로 접근할 수 있게 해주는 API
- XSLT(Extensible Stylesheet Language Transformations) : XML 문서를 다른 XML 문서로 변환하는 데 사용하는 XML 기반 언어
- HTML(Hyper Text Markup Language) : 인터넷 웹(WWW) 문서를 표현하는 표준화된 마크업 언어
- CSS(Cascading Style Sheets) : 마크업 언어가 실제 표시되는 방법을 기술하는 언어
반응형
'Computer Science > CS 스터디' 카테고리의 다른 글
컴포넌트 스타일링 관리 : CSS-in-JS, CSS-in-CSS (1) | 2024.09.30 |
---|---|
브라우저 개념 및 랜더링 원리 (0) | 2023.07.05 |
HTTP와 HTTPS의 개념과 차이 (0) | 2023.07.04 |
MVC 패턴이란? (Modal-View-Controller) (0) | 2023.03.15 |
디자인 패턴이란? (Design Pattern) (0) | 2023.03.15 |