Rest API? Representational State Transfer의 줄임말로, REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스를 의미한다. HTTP 통신에서 어떠한 자원에 대한 CRUD 요청을 Resource와 Method로 표현하여 특정한 형태로 전달하는 방식이다! Rest API 구성 요소 자원 - URI URI (Uniform Resource Indicator) → URI(통합 자원 식별자)는 언제 어디서든 늘 같은 리소스(텍스트, 이미지, 비디오 등)를 보여줄 수 있도록 해주는 식별자이다. URI는 정보의 자원을 표현해야 한다! URI VS URL? http://duckgugong/board http://duckgugong/board/1 행위 - HTTP Met..
등장 배경 기존 Cookie와 Session 기반(세션 기반)의 인증의 문제 기존 Cookie와 Session을 이용한 세션 기반 인증은 HTTP의 Stateless 프로토콜의 특징을 해결하기 위해 등장했다. 세션 기반 인증은 사용자의 인증 정보를 세션 형태로 서버 내에 저장하고 인증이 필요할 때마다 session-ID로 검증을 했다. → 매번 요청이 일어날 때마다 세션 저장소를 조회해서 session-ID를 검증해야 한다! → DB에 접근하는 로직이 한번 더 수행됨! 가장 큰 단점은 서버에 메모리를 저장하기 때문에 서버가 클라이언트가 요청하는 데이터에 응답함과 동시에 사용자의 인증 정보도 관리해야 했다. 즉, 접속한 사용자가 증가하면 서버가 그만큼 과부하가 일어난다는 의미이다. → HTTP의 장점인 S..
쿠키와 세션을 사용하는 이유 HTTP의 connectionless, stateless 프로토콜 때문에 클라이언트가 서버와 통신을 할 때마다 계속 인증을 해야하기 때문 ㅠㅠ 아주 간단히 말해 쿠키는 클라이언트, 세션은 서버가 사용자에 대한 인증을 유지하는 것이다 HTTP 특징 → https://duckgugong.tistory.com/156 HTTP🍔 HTTP (Hypertext Transfer Protocol) HTTP는 서버와 클라이언트가 인터넷상에서 데이터를 주고받기 위한 프로토콜(Protocol)이다 HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다. duckgugong.tistory.com 쿠키 - Cookie🍪 특징 쿠키는 클라이언트(브라우저)에 저장되는 key, ..
Proxy? 클라이언트와 서버 사이의 '대리인'이라 생각하자 클라이언트와 서버 사이에 위치해서 클라이언트는 프록시를 서버라고 인식하고 서버 또한 프록시를 클라이언트로 인식한다 서버와 클라이언트 사이의 중계인으로 대신 통신을 수행하는 역할을 하는 것이 프록시 서버이다! 프록시는 포워드 프록시와 리버스 프록시가 있다. CORS를 해결하기 위한 방법 중 하나가 Proxy를 이용하는 것! 예를 들어 3000번 프톤트 서버에서 8080 포트를 쓰는 백엔드 서버의 리소스를 가져오려 할 때 3000 포트에서 온 요청을 마치 8080 포트에서 바꿔주는 역할! Forward Proxy 일반적으로 프록시는 포워드 프록시를 의미한다. 클라이언트가 서버로 요청을 할 때, 인터넷에 직접 접근하는 것이 아니라 프록시 서버가 요청..