티스토리 뷰

해당 포스트는 web scraping(web crawling)을 위한 기본적인 내용인 Ajax에 대한 내용입니다.

 

정의

Ajax란 Asynchronous JavaScript and XML의 약자입니다.

Ajax는 빠르게 동작하는 동적인 웹 페이지를 만들기 위한 기술입니다. 

 

Ajax 의 Asynchronous를 보면 비동기적이라는 것을 확인할 수 있습니다.

해당 비동기라는 것은 웹 페이지의 일부분만을 비동기적으로 갱신할 수 있다는 의미입니다. 

보통은 웹 페이지를 전체를 갱신하기 때문에 시간이 오래걸립니다. 그래서 Ajax라는 기능이 나왔습니다.

즉, Ajax를 이용하면 백그라운드에서 서버와 통신하여, 해당 리턴 값을 웹 페이지의 일부분에 표시할 수 있습니다.

 

이때, Ajax는 다양한 형태의 데이터를 주고받을 수 있습니다.

  •  JSON

  •  XML

  •  HTML

  •  텍스트 파일 등

AJAX 구성 요소

Ajax는 여러가지의 구성요소를 포함한 기술로서 다음과 같은 기술들이 존재한다. 


XMLHttprequest : 웹서버와 통신을 담당함. 사용자의 요청을 웹서버에 전송 및 웹서버로부터 받은 결과를 웹브라우저에 전달함
DOM : 문서의 구조를 나타냄, 폼 등의 정보나 화면 구성을 조작할때 사용함
CSS : 글자색,배경색,위치,투명도 등 UI관련 부분을 담당
자바스크립트 : 사용자가 마우스를 드래그하거나 버튼을 클릭하면 XMLHttpRequest객체를 사용해 웹서버에 요청을 전송함.
XMLHttpRequest 객체로부터 응답이 오면 DOM, CSS등을 사용해 화면을 조작함.

한계

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

 

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

즉, Ajax는 클라이언트에서 요구하는 방식이므로, 서버에서 요구하는 방식인 서버 푸시 방식의 실시간 서비스는 불가능하다. 

2. Ajax로는 바이너리 데이터를 이용한 통신이 불가능하다.

3. 연속으로 서버에 데이터를 요청하는 경우 서버에 과부하가 걸릴 수 있다. 

4. XMLHttpRequest를 통해 통신을 하는 도중 사용자에게 아무런 진행 정보가 주어지지 않는다. 그래서 아직 요청이 완료되지 않았는데 사용자가 페이지를 떠나는 경우 오작동의 가능성이 크다. 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함