프로그래밍[Univ]/웹 프로그래밍

[Ajax] 에이젝스, 아약스

Cloud Travel 2011. 12. 10. 15:25
* Ajax(Asynchronous Javascript and XML)
 - 비동기 자바스크립트 & XML
 - 비동기 : 응답을 기다리지 않고, 특정 조건의 이벤트 실행
 - 자바스크립트 : 자바스크립트를이용하여 통신한다는 뜻
 - XML : 주고받는 데이터 형태로 지금은 Text나 JSon이 더 많이 사용되는 추세 

* 장단점
 - 장점 : reload 없이 서버와 통신하면서 보다 상호적인 환경을 제공
 - 단점 : 브라우져간 호환성이 미흡하며, 독립적으로 사용이 힘들다.

* Ajax 통신 가능여부
 - 보안상의 이유로 현재 페이지와 동일한 프로토콜, 포트번호, 도메인을 가진 곳만 접근이 가능하다.
  ex) 현재 페이지 http://www.daum.net/main.php
        http://www,daum.net/main.php/ajax.php ( 가능 )
        http://www,daum.net/ajax.php ( 가능 )
        https://www.daum.net/main.php (프로토콜이 달라서 접근이 Ajax 접근이 불가능 )
        http://www.daum.net:22/main.php (포트번호가 달라서 Ajax 접근이 불가능 )
        http://korea.daum.net/main.php ( 도메인이 달라서 Ajax로 접근이 불가능 )
 - 이러한 제한으로 다른 사이트와의 통신이 어렵게 되었다.
 - 해결책
  > PROXY : 동일 서버에서 다시 Ajax를 호출 
  > JSONP : script를 이용하여 callback 함수를 불러준다. 


* 예제 : 사용자에게 들어온 값을 실시간으로 ajax통신을 통해 중복여부를 검사하는 코드이다.
           코드 자체가 너무 길기때문에, 일부분만 발취를했다.