본문 바로가기

JavaScript/APIs

(5)
REST API 1. API(Application Programming Interface)란? -애플리케이션이란 고유한 기능을 갖는 모든 소프트웨어를 말하고, 인터페이스는 두 애플리케이션의 통신 방법을 말한다. -API는 두 애플리케이션의 통신을 처리하기 위한 Gateway 역할을 한다. 통신하기 위해 따라야 하는 규칙들이 명시된다. -API 문서에서는 요청과 응답 매커니즘을 통한 어떤 소프트웨어의 프로그램을 이용하는 방법을 명시한다. -API의 한 예로는, 스마트폰의 날씨 앱 기상청의 기상 데이터 가 있다. -API Architecture는 클라이언트와 서버로 구성된다. -요청을 보내는 애플리케이션을 클라이언트, 응답을 보내는 애플리케이션을 서버라고 부른다. -Web API는 웹 브라우저와 웹 서버 간의 통신 수단을 ..
네트워크 기초 1. 네트워크란? -서로 물리적으로 떨어져 있는 둘 이상의 디바이스 간에 정보 교류를 가능하게 하는 연결망을 말한다. -인터넷은 전세계 모든 네트워크를 연결하는 거대한 네트워크이다. 2. Network Architecture -클라이언트: 리소스를 사용함 -서버: 리소스를 제공함 -데이터베이스: 리소스를 저장함 3. Client-Server Model -클라이언트와 서버는 요청과 응답을 통해 통신한다. -각 요청과 응답은 1:1로 대응하며, 요청을 보내면 반드시 응답을 받는다. 응답은 요청이 일어나야만 발생할 수 있다.(단방향통신) -웹 클라이언트인 브라우저와 웹 서버는 HTTP 프로토콜을 사용하여 요청 메시지와 응답 메시지를 주고 받는다. -브라우저는 리소스의 활용 목적에 맞게 HTTP 요청 메시지를..
LocalStorage & SessionStorage 개요 사용자 정보 등을 저장하여 사용자 경험을 향상 시키기 위한 목적으로 만들어졌다. 로그인 및 장바구니 정보 등을 저장하는 쿠키, 이미지 및 사운드 파일을 일시적으로 저장하는 캐시가 초창기에 도입되었고, 용량과 보안성 문제로 HTML5에서 웹 스토리지가 추가되었다. 웹 스토리지는 문자열 형태로 최대 5 MB까지 저장이 가능한데 이도 부족하여 대용량 저장이 가능하고 자료형 제한도 없는 IndexedDB가 출시되었다. 쿠키는 모든 요청에 담겨 함께 보내지기 때문에 성능 저하를 야기할 수 있다(특히 모바일 데이터 연결 환경 등에서). 그러므로 최근에는 위의 modern storage APIs가 많이 사용되는 추세이다. 1. Web Storage Object -localStorage & sessionStora..
쿠키, 세션, 토큰, JWT 0. 개요 -웹 사이트를 이용할 때 사용하는 프로토콜인 http는 stateless한 특성을 가짐. -모든 request는 서로 독립적으로 다뤄짐. 서버는 해당 클라이언트의 요청 기록 내역을 저장하지 않음 -일반적으로 서버는 클라이언트의 정보를 메모리에 따로 저장해두지 않음. 즉 연결이 종료되면 잊어버림. -따라서 매 request 마다 서버에 클라이언트 정보를 알려줘야함. 1. 쿠키 -클라이언트와 서버 간의 정보 전달 매개체임. -브라우저에서만 사용함. -서버는 쿠키를 이용하여 브라우저에 데이터를 저장할 수 있음. (브라우저의 특정 정보를 기억하기 위함임) -브라우저의 request에 대한 서버의 response에 쿠키 데이터가 포함됨. -해당 웹사이트에 방문할 때마다 브라우저는 서버에 쿠키와 함께 r..
Request-Response Model -Client(browser)와 Server(WEB) 사이에서 데이터가 전송되는 과정을 설명한다. -Request : 클라이언트에서 서버에 접근을 요청한다. -Response : 서버에서 클라이언트가 요청한 데이터(of web Page or from web API)를 회신한다. *HTTP & HTTPS : HyperText Transfer Protocol / HTTPS은 TLS or SSL를 사용하여 암호화한 HTTP이다. 1. DNS 조회를 통해 URL을 IP주소로 변환한다 -URL : (Protocol) + (Domain name) + (Resource) *Protocol : HTTP or HTTPS -IP : (Protocol) + (IP address) + (Port number) *Domain ..