Frontend/웹 관련 지식

    SOP, CORS

    SOP Same Origin Policy → 동일 출처 정책. 동일한 출처(프로토콜, 호스트명, 포트가 모두 같아야 함)의 리소스에만 접근하도록 제한! https://duckgugong.kr:80 → https: 프로토콜, duckgugong.kr: 호스트명, 80: 포트 브라우저는 동일한 서버가 아닌 곳에서 받아온 데이터를 기본적으로 차단한다. 예를 들어 https://duckgugong.kr에서 로그인을 한 후 쿠키에 토큰을 받은 후 https://duck90.kr에 접속해서 axios나 ajax를 이용해서 HTTP 요청을 보내면 자동으로 쿠키에 토큰이 전송된다! 이러한 이유로 브라우저는 기본적으로 HTTP 요청(axios, ajax, javascript)을 동일한 출처로 제한했다! CORS Cros..

    Rest API / Rest-ful

    Rest API / Rest-ful

    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..

    JWT TOKEN🍗

    JWT TOKEN🍗

    등장 배경 기존 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, ..