Page 1 of 1

ajax 의 정확한 개념은 무엇인가요?

Posted: 2007 05 24 16:28 32
by coolsu
ajax에 대해서 많이 검색하고 알아봤지만 아직까지
좀 확실하지 않은 부분이 있어서 좀 물어봅니다.

ajax가 비동기 통신~ 어쩌고 하는데요.
xml자료를 교환하다고 그림에 많이 설명이 되어 있는데요.

그런데 실상을 대충 둘러보면 xml 이라고 말하기는 그렇고,
단순히 쿼리 몇개만 던져주고, 자바스크립트가 그걸 가지고 서버에 넘겨주면
서버 스크립트에서 결과를 (xml 형식이 아닌) 다시 자바스크립트를 통해서
브라우저에 뿌려주는데요.

1. 단순히 xml자료가 아닌 일반쿼리 문을 던져서 처리하는 것도
ajax 라고 말 할 수 있는 것인가요?
ajax 가 비동기통신이 핵심이라고 하지만, xml이 빠져있는데도 그렇게 말을 할 수 있는 건지 알고 싶습니다.


2. 오히려 ajax 보다는 단순히 프레임이나 아이프레임으로 값을 넘겨주는 것이 더 편하지 않나요? ajax 를 이용하려면 자바스크립트의 dom 등의 형식도 알아야 할 건데요. 그렇지 않을까요?


3. ajax 는 웹표준이 될 수가 없는 건가요? 결과값을 자바스크립트로 처리하기 때문에 결국은 dom 형식을 이용해서 뿌려주어야 하는데요. html 소스에서는 그 내용을 볼 수 없으니까 결국 웹표준과는 거리가 먼 것이 아닐까도 생각을 하는데요.
여기에 대해서는 어떻게 생각하시는지도 알고 싶습니다.
몇 글을 읽어보니까 자바스크립트가 꺼진 상태에서도 처리 가능하게 하면 된다는 글도 있는데요.


여러분의 의견을 듣고 싶습니다.

Re: ajax 의 정확한 개념은 무엇인가요?

Posted: 2007 05 25 09:41 06
by hyeonseok
1. 단순히 xml자료가 아닌 일반쿼리 문을 던져서 처리하는 것도
ajax 라고 말 할 수 있는 것인가요?
ajax 가 비동기통신이 핵심이라고 하지만, xml이 빠져있는데도 그렇게 말을 할 수 있는 건지 알고 싶습니다.
자료가 xml이냐 아니냐를 떠나서 XMLHttpRequest 객체를 사용하면 ajax라고 말할 수 있을 것 같습니다. 이때 주고 받는 데이터는 XML이 될 수도, JSON이 될 수도, 일반 텍스트가 될 수도 있습니다. 원래는 XML을 이용해서 통신을 하는 것을 말했는데 지금은 자료형에 얽매이지 않는 것 같습니다.

그 자료형을 중요하다고 생각한 사람들이 만든 개념이 AHAH입니다.
http://dnzin.com/cunningweb/2006/09/08/ahah/
2. 오히려 ajax 보다는 단순히 프레임이나 아이프레임으로 값을 넘겨주는 것이 더 편하지 않나요? ajax 를 이용하려면 자바스크립트의 dom 등의 형식도 알아야 할 건데요. 그렇지 않을까요?
단순히 "일부 화면의 재갱신" 부분만 신경쓰면 그렇지만 보통 ajax라고 하면 화면 인터페이스를 제어하는 DHTML이 굉장히 강합니다. 이러한 것은 아이프레임을 사용할때에는 구현하기 힘들고요. 그리고 ajax를 사용하기 위해서 데이터와 출력을 분리하게 되면 이 분리된 데이터는 다른 용도로 재사용도 가능하고요. 보통 화면 UI를 향상시키기 위해서 ajax를 사용하는데 아이프레임보다 풍부하게 표현이 가능합니다. 그리고 설계가 잘된 ajax는 아이프레임보다 훨씬 높은 접근성을 보장할 수 있습니다.
3. ajax 는 웹표준이 될 수가 없는 건가요? 결과값을 자바스크립트로 처리하기 때문에 결국은 dom 형식을 이용해서 뿌려주어야 하는데요. html 소스에서는 그 내용을 볼 수 없으니까 결국 웹표준과는 거리가 먼 것이 아닐까도 생각을 하는데요.
여기에 대해서는 어떻게 생각하시는지도 알고 싶습니다.
몇 글을 읽어보니까 자바스크립트가 꺼진 상태에서도 처리 가능하게 하면 된다는 글도 있는데요.
ajax(XMLHttpRequest)는 현재 W3C에서 표준으로 만들고(http://www.w3.org/TR/XMLHttpRequest/) 있습니다. 시간이 지나면 모든 웹브라우저에 권고되는 표준이 되는 것이지요. 자바스크립트로 처리를 했다고 해서 무조건 웹표준이 아니라고 말할 수는 없습니다. 사용을 얼마나 잘하느냐에 따라 달라지겠죠. 말씀하신 것 처럼 스크립트가 작동하지 않는 상황도 고려해서 설계가 잘 되어 있으면 문제 없다고 생각합니다.