[웹] AJAX


  • AJAX

    • JavaScript의 라이브러리 중 하나.
    • Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자.
    • JavaScript를 사용한 비동기 통신.
    • 클라이언트와 서버간에 XML 데이터를 주고받는 기술.

    Ajax를 사용하는 이유(장점)

    • HTTP프로토콜 클라이언트쪽에서 Request를 보내고 Server쪽에서 Response를 받으면 이어졌던 연결이 끊기게 되어 있어서 화면의 내용을 갱신하려면 다시 Request를 하고 Request를 하면서 페이지 전체를 갱신하게 됩니다.
      • 하지만 이렇게 하면 페이지 일부 갱신시에도 전체를 로드해야되서 오버헤드가 큽니다.
    • Ajax는 html 페이지 전체가 아닌 일부분만 갱신할 수 있도록 XML HttpRequest객체를 통해서 서버에 request를 합니다.
    • 이 경우 Json이나 xml 형태로 필요한 데이터만 받아 갱신하기 때문에 그만큼의 자원과 시간을 아낄 수 있습니다.
    • 서버에 Data만 전송하면 되므로 전체적인 코딩의 양이 줄어든다.

    Ajax의 단점

    • 히스토리 관리가 안된다.
      • Pjax를 통해 해결가능하다. 그래서 웹 브라우저상에서 페이지 이동이나 뒤로가기 앞으로가기 이력관리를 실제 피이지 이동없이 구현해주는 jQuery의 pushState와 Ajax를 합친 개념.
    • 연속으로 데이터를 요청하면 서버 부하가 증가할 수 있다.
    • XMLHttpRequest를 통해 통신을 하는 경우 사용자에게 아무런 진행정보가 주어지지 않는다.

    Reference

    • https://coding-factory.tistory.com/143


on Cs, Db, Web