lala9663
Bump into
lala9663
전체 방문자
오늘
어제
  • 분류 전체보기 (158)
    • JavaScript (1)
    • Java (39)
    • Spring (28)
    • IntelliJ (7)
    • Git,Github (2)
    • CS (22)
    • Algorithm (23)
      • Algorithm 문제 (13)
    • 공부방 (9)
    • 그 외 (27)
      • TIL (24)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 정적
  • try-catch
  • was
  • 1193
  • Intellij
  • 백준
  • Post
  • Java
  • Get
  • servlet
  • 자바
  • 스트림(Stream)
  • 웹서버
  • Til
  • jsp
  • 백준 2292
  • 백준 벌집
  • thread
  • 웹 3.0
  • 자바 람다
  • 동적
  • Spring

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
lala9663

Bump into

Spring

Ajax

2022. 11. 28. 19:54

Ajax란?

Asynchronous JavaScript and XML(비동기식 자바 스크립트와 xml)의 약자이다. JavaScript의 라이브러리 중 하나이다.

Ajax는 웹 페이지 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱신할 수 있다.
즉, Ajax를 이용하면 백그라운드 영역에서 서버와 통신하여, 그 결과를 웹 페이지의 일부분에만 표시할 수 있다.

이때 서버와는 다음과 같은 다양한 형태의 데이터를 주고받을 수 있다.

  • JSON
  • XML
  • HTML
  • 텍스트 파일 등

즉, 쉽게 말해 자바스크립트를 통해서 서버에 데이터를 요청하는 것이다.

 

Ajax의 장단점

  1. 장점
  • 웹페이지의 속도 향상
  • 서버의 처리가 완료될 때까지 기다리지 않고 처리가 가능하다.
  • 서버에서 Data만 전송하면 되므로 전체적인 코딩의 양이 줄어든다.
  • 기존 웹에서는 불가능했던 다양한 UI를 가능하게 해준다.
  1. 단점
  • 히스토리 관리가 되지 않는다.
  • 페이지 이동 없는 통신으로 인한 보안상의 문제가 있다
  • 연속으로 데이터를 요청하면 서버 부하가 증가할 수 있다.
  • XMLHttpRequest를 통해 통신하는 경우, 사용자에게 아무런 진행 정보가 주어지지 않는다.(요청이 완료되지 않았는데 사용자가 페이지를 떠나거나 오작동할 우려가 발생하게 된다.)
  • Ajax를 쓸 수 없는 브라우저에 대한 문제 이슈가 있다.
  • HTTP 클라이언트의 기능이 한정되어 있다.
  • 지원하는 Charset이 한정되어있다.
  • Script로 작성되므로 디버깅이 용이하지 않다.
  • 동일. 출처 정책으로 인하여 다른 도메인과는 통신이 불가능하다.

Ajax 한계

  1. Ajax는 클라이언트가 서버에 데이터를 요청하는 클라이언트 풀링(Client pooling) 방식을 사용하므로, 서버 푸시 방식의 실시간 서비스는 만들 수 없다.
  2. Ajax로는 바이너리 데이터를 보내거나 받을 수 없다.
  3. Ajax 스크립트가 포함된 서버가 아닌 다른 서버로 Ajax 요청을 보낼 수는 없다.
  4. 클라이언트의 PC로 Ajax 요청을 보낼 수 없다.
클라이언트 풀링(Client pooling) 방식:
     사용자가 직접 원하는 정보를 서버에게 요청하여 얻는 방식을 의미
서버 푸시(server push) 방식:
    사용자가 요청하지 않아도 서버가 알아서 자동으로 특정 정보를 제공하는 것을 의미
    스마트폰에서 각종 앱이 보내는 푸시 알림이 서버 푸시 방식의 대표적인 예.

Ajax 프레임워크

Ajax를 이용하여 개발을 손쉽게 할 수 있도록 미리 여러 가지 기능을 포함해 놓은 개발 환경을 Ajax프레임 워크라고 한다.
이러한 Ajax프레임워크 중에서도 가장 많이 사용되는 프레임 워크는 다음과 같다.

  • prototype
  • script.aulo.us
  • dojo
  • jQuery

 

 

 

참고: https://99geo.tistory.com/65

'Spring' 카테고리의 다른 글

[Spring] AOP란?  (0) 2022.12.16
동기와 비동기 방식  (0) 2022.11.28
[Spring] 스프링에서 자주 사용하는 Annotation  (0) 2022.11.24
[Spring] MVC 구조 이해  (0) 2022.11.01
[JSP] EL 과 JSTL 정리  (0) 2022.10.26
    'Spring' 카테고리의 다른 글
    • [Spring] AOP란?
    • 동기와 비동기 방식
    • [Spring] 스프링에서 자주 사용하는 Annotation
    • [Spring] MVC 구조 이해
    lala9663
    lala9663
    초보의 험난한 공부

    티스토리툴바