1. AJAX(Asynchronous Javascript And XML)
- 비동기식 자바스크립트와 xml의 약자
- 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능
- JSON이나 XML 형태로 필요한 데이터만 받아 갱신하기 때문에 웹 페이지 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱싱할 수 있다.
- Ajax의 가장 핵심적인 구성 요소는 XMLHttpRequest 객체이며, 이는 웹 브라우저가 서버와 데이터를 교환할 때 사용된다.
* 서버와는 다음과 같은 형태의 데이터를 주고 받을 수 있다.
- JSON
- XML
- HTML
- 텍스트 파일 등
* Ajax 장점
- 웹페이지의 속도향상 : 페이지 전체가 아닌 필요한 부분만 업데이트할 수 있기 때문
- 서버의 처리가 완료될 때까지 기다리지 않고 처리가 가능하다 : 비동기적으로 이루어지기 때문에, 사용자는 다른 작업을 수행할 수 있다.
- 서버에서 Data만 전송하면 되므로 전체적인 코드의 양이 줄어든다 : 웹 페이지에서 필요한 데이터만 서버로부터 가져오고 화면에 표시할 수 있다.
* Ajax의 한계
- Ajax는 클라이언트가 서버에 데이터를 요청하는 클라이언트 풀링 방식을 사용하므로, 서버 푸시 방식의 실시간 서비스(채팅 알람 등)는 만들 수 없다 : 클라이언트가 서버로 요청을 보내야만 데이터를 수신할 수 있다는 것을 의미하기 때문에, 서버가 데이터를 푸시하여 클라이언트에 실시간으로 업데이트하는 것이 어렵다.
- Ajax로는 바이너리 데이터를 보내거나 받을 수 없다 : Ajax는 주로 텍스트 데이터를 주고 받는데 사용되기 때문에 바이너리 데이터(이미지, 비디오, 음악 파일 등)의 전송에는 적합하지 않다.
- Ajax 스크립트가 포함된 서버가 아닌 다른 서버로 Ajax 요청을 보낼 수 없다 : CORS 헤더 설정 없이는 다른 도메인으로 리소스를 요청할 수 없다.
* 정리
- Ajax는 비동기식 자바스크립트와 xml의 약자로 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능을 말한다. Ajax는 데이터를 교환할 때 XMLHttpRequest 객체를 사용한다. Ajax를 사용하면 JSON, XML, HTML, 텍스트 파일 등의 형태의 데이터를 주고 받을 수 있다.
- Ajax의 장점으로는 웹페이지 속도 향상(페이지 전체가 아닌 필요한 부분만 업데이트 가능), 서버의 처리가 완료되기 전에 사용자가 다른 작업을 수행할 수 있음(비동기적으로 처리되기 때문)이며, 한계로는 클라이언트 풀링 방식을 사용하므로 서버 푸시 방식의 실시간 서비스 구현이 어렵고, 바이너리 데이터(이미지, 비디오 등)의 전송에는 적합하지 않으며, CORS 헤더 설정 없이는 다른 도메인으로 리소스를 요청할 수 없다는 점이 있다.
학습 단계로 잘못된 정보가 있을 수 있습니다. 잘못된 부분에 대해 알려주시면 정정하도록 하겠습니다.
참고 : http://www.tcpschool.com/ajax/ajax_intro_basic
https://velog.io/@surim014/AJAX%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
'이것저것 스터디📚 > CS 스터디' 카테고리의 다른 글
HTTP 대신 HTTPS를 사용해야하는 이유 (0) | 2023.10.16 |
---|---|
REST API (1) | 2023.10.16 |
웹 서버와 WAS(Web Application Server) (0) | 2023.10.16 |
CORS란 무엇인가? (1) | 2023.10.16 |
Keep-Alive 헤더 (0) | 2023.09.25 |