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는 다음 중 하나의 상태를 가진다
- 대기(pending) : 이행하지도, 거부하지도 않은 초기 상태
- 이행(fulfilled) : 연산이 성공적으로 완료됨
- 거부(rejected) : 연산이 실패함
대기 중인 프로미스는 값과 함께 이행할 수도, 어떤 이유(오류)로 인해 거불될 수도 있다.
이행이나 거부될 때, 프로미스의 then 메서드에 의해 대기열(큐)에 추가된 처리기들이 호출된다.
이미 이행했거나 거부된 프로미스에 처리기를 연결해도 호출되므로, 비동기 연산과 처리기 연결 사이에 경합 조건은 없다.
XSRF(Cross-site request forgery)
사이트 간 요청 위조(또는 크로스 사이트 요청 위조)는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다.
참고:
https://axios-http.com/kr/docs/intro
https://developer.mozilla.org/ko/docs/Web/API/XMLHttpRequest
https://nodejs.org/api/http.html
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise
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 |