Ajax(Asynchronous JavaScript and XML)란?

2024. 9. 14. 17:41·Category/Note
728x90

Ajax(Asynchronous JavaScript and XML)는 웹 페이지를 새로 고침하지 않고도 서버와 비동기적으로 데이터를 교환할 수 있게 해주는 기술입니다. 즉, 웹 페이지를 로드한 후에 서버와 데이터를 주고받으면서 웹 페이지의 일부를 동적으로 업데이트할 수 있습니다.

Ajax의 주요 요소

  1. JavaScript: 클라이언트 사이드에서 비동기 요청을 보내고 응답을 처리하는 데 사용됩니다.
  2. XMLHttpRequest: 브라우저에서 서버와 비동기적으로 데이터를 교환하는 데 사용하는 객체입니다. 현대 브라우저에서는 fetch API가 더 많이 사용됩니다.
  3. XML 또는 JSON: 서버에서 전송된 데이터를 클라이언트 측에서 파싱할 때 사용하는 데이터 포맷입니다. JSON이 XML보다 더 간단하고 가독성이 좋기 때문에 최근에는 JSON이 더 일반적입니다.

Ajax의 작동 방식

  1. 이벤트 발생: 사용자가 웹 페이지에서 특정 작업(예: 버튼 클릭, 폼 제출 등)을 수행합니다.
  2. 비동기 요청: JavaScript 코드가 XMLHttpRequest 또는 fetch API를 사용하여 서버에 비동기 요청을 보냅니다.
  3. 서버 처리: 서버는 요청을 받고 처리한 후, 클라이언트에 응답을 보냅니다.
  4. 응답 처리: 클라이언트 측 JavaScript가 서버로부터 응답을 받아 처리하고, 웹 페이지의 일부를 동적으로 업데이트합니다.

Ajax의 장점

  • 빠른 응답 시간: 페이지를 새로 고치지 않고도 서버와 데이터를 주고받을 수 있어 사용자 경험이 향상됩니다.
  • 부분 업데이트: 전체 페이지를 새로 고치지 않고도 웹 페이지의 일부를 업데이트할 수 있습니다.
  • 대역폭 절약: 필요한 데이터만 요청하고 처리하기 때문에 전체 페이지를 새로 로드하는 것보다 대역폭을 절약할 수 있습니다.

사용 예시

  • 실시간 검색: 사용자가 검색어를 입력할 때마다 실시간으로 검색 결과를 업데이트합니다.
  • 폼 제출: 사용자가 폼을 제출할 때 페이지를 새로 고치지 않고 데이터를 서버에 전송합니다.
  • 자동 업데이트: 서버에서 데이터가 변경될 때 클라이언트 측에서 자동으로 업데이트를 받습니다.

이 기술은 사용자 경험을 향상시키는 데 매우 유용하며, 현대 웹 애플리케이션에서 널리 사용됩니다.

728x90

'Category > Note' 카테고리의 다른 글

Gunicorn(Green Unicorn)이란?  (0) 2024.09.16
HTML의 앵커(anchor) 태그  (0) 2024.09.14
HTTP 응답코드 종류  (0) 2024.09.11
설정된 환경 변수를 cmd 창에서 확인하려면?  (0) 2024.09.10
윈도우 시스템 속성 창 열기  (0) 2024.09.10
'Category/Note' 카테고리의 다른 글
  • Gunicorn(Green Unicorn)이란?
  • HTML의 앵커(anchor) 태그
  • HTTP 응답코드 종류
  • 설정된 환경 변수를 cmd 창에서 확인하려면?
Corinee
Corinee
  • Corinee
    Coding Note
    Corinee
  • 전체
    오늘
    어제
    • 분류 전체보기 (356) N
      • Category (351) N
        • Algorithm (7)
        • SQL (2) N
        • Java (4)
        • C (9)
        • React (7)
        • JavaScript (9)
        • CSS (2)
        • Node (1)
        • SpringBoot (26)
        • Database (3)
        • Network (1)
        • Django (6)
        • Python (21)
        • Flask (4)
        • iOS (25)
        • Swift (4)
        • Flutter (11)
        • Dart (3)
        • Git (1)
        • Firebase (1)
        • Gof (1)
        • 정보처리기사 (112)
        • AI (5)
        • NestJs (4)
        • Docker (1)
        • 사이드 프로젝트 (1)
        • Note (78) N
        • Socket (1)
        • 개인 정보 처리 방침 (1)
        • 회고 (0)
        • Book (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    시맨틱 버전(semantic versioning
    Jest
    소프트웨어 버전 관리
    react router
    원시값(primitive)
    chrome extension 자동 배포
    react
    public vs assets
    쉽게 풀어쓴 C언어 Express
    프로세스 강제 종료
    jackson 라이브러리
    defaultdict
    중첩 함수(nested function)
    json.parse(json.stringify())
    semver)
    stdlib.h
    counter
    mermaid-cli
    inp
    structuredclone()
    useEffect
    x.y.z (메이저.마이너.패치)
    Collections
    intellij 콘솔 한글 깨짐
    ajax (asynchronous javascript and xml)
    core web vitals
    styled-components
    named export vs default export
    javascript 필수 문법
    math.h
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Corinee
Ajax(Asynchronous JavaScript and XML)란?
상단으로

티스토리툴바