아랄라랄라
R 스토리
아랄라랄라
전체 방문자
오늘
어제
  • All (198)
    • Web (145)
      • Markup | WEB (9)
      • Styles (45)
      • javascript (32)
      • jquery (28)
      • vue (16)
      • react (10)
      • more (5)
    • IT (31)
      • CS (3)
      • git hub (5)
      • UI | UX (18)
      • more (5)
    • ETC (22)
      • 이슈노트 (12)
      • 스터디 (10)
      • 아랄라 ☞☜ (0)
      • JOB🛠 (0)

인기 글

반응형
hELLO · Designed By 정상우.
아랄라랄라

R 스토리

[자바스크립트] axios
Web/javascript

[자바스크립트] axios

2022. 12. 30. 10:07

 

 

 

 

 

Axios

  • 브라우저와 node.js에서 사용할 수 있는 Promise 기반 HTTP 클라이언트 라이브러리
  • 서버 사이드에서는 네이티브 node.js의 http 모듈을 사용하고, 클라이언트(브라우저)애서는 XMLHttpRequest를 사용한다.

 

 

 

특징

  • 브라우저를 위해 XMLHttpRequests생성
  • node.js를 위해 http 요청 생성
  • Promise API를 지원
  • 요청 및 응답 인터셉트
  • 요청 및 응답 데이터 변환
  • 요청 취소
  • JSON 데이터 자동 변환
  • XSRF를 막기위한 클라이언트 사이트 지원

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

XMLHttpRequests(XHR)

  • XHR 객체는 서버와 상호작용할 때 사용한다.
  • XHR을 사용하면 페이지의 새로고침 없이도 URL에서 데이터는 가져올 수 있다.
  • 이를 활용하면 사용자의 작업을 방해하지 않고 페이지의 일부를 업데이트 할 수 있다.
  • XHR은 AJAX 프로그래밍에 많이 사용된다.

 

 

 

Promise

  • 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타낸다.
  • 프로미스가 생성된 시점에는 알려지지 않았을 수도 있는 값을 위한 대리자로, 비동기 연산이 종료 된 후에 결과 값과 실패 사유를 처리하기 위한 처리기를 연결할 수 있다.
  • 프로미스를 사용하면 비동기 메서드에서 마치 동기 메서드처럼 값을 반환할 수 있다. 다만 최종 결과를 반환하는 것이 아니고, 미래의 어떤 시점에 결과를 제공하겠다는 '약속'(프로미스)을 반환한다.

 

 

  • Promise는 다음 중 하나의 상태를 가진다
    1. 대기(pending) : 이행하지도, 거부하지도 않은 초기 상태
    2. 이행(fulfilled) : 연산이 성공적으로 완료됨
    3. 거부(rejected) : 연산이 실패함

 

 

대기 중인 프로미스는 값과 함께 이행할 수도, 어떤 이유(오류)로 인해 거불될 수도 있다.

이행이나 거부될 때, 프로미스의 then 메서드에 의해 대기열(큐)에 추가된 처리기들이 호출된다.

이미 이행했거나 거부된 프로미스에 처리기를 연결해도 호출되므로, 비동기 연산과 처리기 연결 사이에 경합 조건은 없다.

 

 

출처) MDN

 

 

 

 

XSRF(Cross-site request forgery)

사이트 간 요청 위조(또는 크로스 사이트 요청 위조)는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다.

 

 

 

 

 

 


참고:

https://axios-http.com/kr/docs/intro

 

시작하기 | Axios Docs

시작하기 브라우저와 node.js에서 사용할 수 있는 Promise 기반 HTTP 클라이언트 라이브러리 Axios란? Axios는 node.js와 브라우저를 위한 Promise 기반 HTTP 클라이언트 입니다. 그것은 동형 입니다(동일한 코

axios-http.com

https://developer.mozilla.org/ko/docs/Web/API/XMLHttpRequest

 

XMLHttpRequest - Web API | MDN

XMLHttpRequest (XHR) 객체는 서버와 상호작용할 때 사용합니다. XHR을 사용하면 페이지의 새로고침 없이도 URL에서 데이터를 가져올 수 있습니다. 이를 활용하면 사용자의 작업을 방해하지 않고 페이

developer.mozilla.org

https://nodejs.org/api/http.html

 

HTTP | Node.js v19.3.0 Documentation

HTTP# Source Code: lib/http.js To use the HTTP server and client one must require('node:http'). The HTTP interfaces in Node.js are designed to support many features of the protocol which have been traditionally difficult to use. In particular, large, possi

nodejs.org

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise

 

Promise - JavaScript | MDN

Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다.

developer.mozilla.org

https://ko.wikipedia.org/wiki/%EC%82%AC%EC%9D%B4%ED%8A%B8_%EA%B0%84_%EC%9A%94%EC%B2%AD_%EC%9C%84%EC%A1%B0

 

사이트 간 요청 위조 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

 

728x90
저작자표시 (새창열림)

'Web > javascript' 카테고리의 다른 글

[자바스크립트] DOMContentLoaded, load 차이  (0) 2023.04.14
[자바스크립트] Optional Chaining 연산자(?.)  (0) 2023.01.18
[자바스크립트/HTML] Img onerror  (0) 2022.12.13
[자바스크립트] 제어 구문  (0) 2022.01.25
[자바스크립트] scrollY vs pageYOffset 무엇을 써야하나?  (0) 2021.03.19

티스토리툴바