TIL-211118_3

EBinY·2021년 11월 18일
0

TIL - Today I Learned

목록 보기
7/54

HTTP/네트워크 기초-3

AJAX: SPA를 만드는 기술

  1. AJAX란
  • Asynchronous JavaScript And XMLHttpRequest
  • JavaScript, DOM, Fetch, XMLHttpRequest, HTML 등의 다양한 기술을 사용하는 웹 개발 기법
  • AJAX 구성 요소(기술)
    • 웹 페이지 표현을 위한 HTML, CSS
    • 데이터에 접근하거나, 화면 구성을 동적으로 조작하는 DOM
    • 데이터 교환에 사용되는 JSON 이나 XML
    • 웹 서버와 비동기적 통신을 위한 XMLHttpRequest 객체
    • JavaScript
  • 웹 페이지를 리랜더링 할 때마다 전체 데이터를 받아 오는 것이 아니라, 필요한 데이터만 비동기적으로 받아와 화면을 그려낼 수 있다
  1. 두가지 핵심기술: JavaScript+DOM, Fetch
  • Fetch: Web API
    • Fetch 이전에는 XMLHttpRequest를 사용하였음, 단점을 보완하여 나옴
    • XML보다 가볍고 JavaScript와 호환되는 JSON을 사용함
  1. AJAX의 장/단점
  • 장점
    • 유저 중심 어플리케이션 개발이 가능: 빠르고 더 많은 상호작용이 가능함
    • 대역폭이 작아짐: 네트워크 통신 한번에 받아오는 데이터의 크기가 작아짐
  • 단점
    • SEO(Search Engine Optimization)에 불리
    • 뒤로가기 버튼: 이전 상태를 기억하지 않음, History API를 따로 사용해야 함

SSR, CSR

  • Server Side Rendering
    • 웹 페이지를 서버에서 랜더링하여 전송해 준다
    • 페이지를 이동할 때에, 서버에서 페이지를 랜더링하여 보내준다
  • Client Side Rendering
    • 웹 페이지를 클라이언트에서 랜더링한다
    • 서버에서 웹 페이지의 골격이 되는 단일 페이지와 JS 파일을 받아옴
    • 페이지를 이동할 때에, 추가적으로 랜더링할 부분의 데이터만 API로 서버에 요청한다

CORS

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

0개의 댓글