SPA: AJAX

EBinY·2021년 10월 18일
0

AJAX

  • Asynchronous JavaScript And XMLHttpRequest
  • AJAX 구성 요소(기술)
    • JavaScript, Fetch
    • DOM: 데이터에 접근하거나, 화면 구성을 동적으로 조작
    • 웹 페이지 표현을 위한 HTML, CSS
    • 데이터 교환에 사용되는 JSON 이나 XML
    • 웹 서버와 비동기적 통신을 위한 XMLHttpRequest 객체
  • AJAX의 장점
    • 서버 의존도가 낮음, 서버에서 HTML을 완성해 보내주지 않아도 웹페이지를 만들고, 비동기적 데이터 로딩으로 화면의 일부만 업데이트하여 렌더링
    • XHR 표준화로 브라우저에 구애받지 않고 사용 가능
    • 유저 중심 어플리케이션 개발이 가능, 일부만 렌더링하여 더 빠르고 많은 상호작용 가능
    • 더 작은 대역폭(통신 1회에 주고받는 데이터의 크기)
  • AJAX의 단점
    • SearchEngineOptimization(SEO)에 불리, AJAX는 뼈대에 필요한 데이터만 렌더링 하는 방식, 검색 사이트는 사이트의 모든 정보를 긁어와 검색 결과로 보여줘야 함
    • 뒤로가기 구현을 별도의 History API를 사용해야 함, AJAX는 이전 상태를 기억하지 않음

SSR vs CSR

SSR

  • Server side rendering: 웹페이지를 서버에서 렌더링, 정해진 웹 페이지 파일을 브라우저로 전송해주는 방식, 경로를 이동할 때마다 전체 페이지를 전부 렌더링 함, 느림
  • SEO, 웹페이지 첫 화면 렌더링이 빠르게 필요한 경우, 상호작용이 적은 경우에 유리함

CSR

  • Client side rendering: 웹페이지를 클라이언트에서 렌더링, 서버는 웹페이지의 뼈대가 되는 단일 페이지와 JavaScript를 클라이언트로 전송, 클라이언트에서 렌더링을 함, 변경되는 내용에 따라 필요한 데이터만 가져와서 변경이 필요한 부분만 렌더링 함
  • 웹 애플리케이션의 빠른 동적 렌더링을 제공, 빠른 라우팅으로 풍부한 상호작용에 유리, 이는 더 나은 사용자 경험을 제공함

CORS

  • Cross-Origin Resource Sharing, 교차 출처 리소스 공유
  • 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제
  • 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행
  • CORS 체제는 브라우저와 서버 간의 안전한 교차 출처 요청 및 데이터 전송을 지원합니다. 최신 브라우저는 XMLHttpRequest 또는 Fetch와 같은 API에서 CORS를 사용하여 교차 출처 HTTP 요청의 위험을 완화

0개의 댓글