본문 바로가기

전체 글

(120)
JWT TOKEN 저장 위치 비교 - JWT 를 활용한 인가를 위해 Authorization Headerdp 토큰을 넣어 API 요청을 하는데, JWT Token을 어디다 저장해야 유리할지에 대해 비교 Local Storage Session Storage Cookie 개요 지속적으로 필요한 데이터 (Ex> 아이디 저장 자동로그인 등) 일시적인 데이터 저장 (ex> 입력 폼, 일회성 로그인 등) 로그인 자동완성 등 유효시간을 설정해 데이터를 저장 가능 - 매우 작은 데이터 용량 (4KB) - 매 요청마다 같이 전달 - 문자열만 저장 가능 장점 데이터 영구 저장 가능 브라우저 탭이 닫히면 초기화 httpOnly, Secure등 옵션을 적용해 JS 접근 방지와 HTTPS 요청만을 허용하게 할 수 있음. 단점 JS 접근이 가능 (XSS 위협) ..
HTTP VS Socket 📌 HTTP VS SOCKET 비교 HTTP 통신 정의 : 서버 - 클라이언트간 통신하기위한 표준 프로토콜이다. Request → Response 구조로 통신하며 단방향 통신 방식이다. Http의 대표적인 특성은 아래와 같다. Connectionless - 비연결성 특성 모든 연결에 대하여 연결시도 ↔ 해제 과정(Preflight Request & Response)을 거치며 통신을 거친다. 통신이 종료되면 연결을 끊는다. 이를통해 연결유지 리소스 비용을 낮출 수 있다. 하지만 매 통신마다 Preflight Request & Response 과정을 거치며 오버헤드가 발생. 이에, KeepAlive라는 옵션이 등장. KeepAlive는 일정 시간(지정된 시간) 동안 통신이 없을 경우 패킷을 주기적으로 보내 ..
Nestjs 한눈에 기본 정리 📌 Nestjs 기본구조 ESLint, Prettier는 코드 컨벤션 규칙을 작성해 타 인원 간 협업할 때 코드 컨벤션을 만드는 곳. Decorator = 기능 추가 역할. (붙여써야함) Controller = 들어오는 요청 처리 및 응답값을 반환하는 역할. 애플리케이션에 대한 특정 요청 수신 목적. Request 객체(@Req()). Body 객체 (@Body()). Param 객체 (@Param()). Provider = 서비스, 리포지토리, 팩토리 등 Nest의 Class들은 대부분 공급자로 취급된다. 이에 공급자에게는 종속성 주입이 가능하다.(Dependency Injection) Controller (소비자)는 Service(공급자)를 Injection받아서 사용하는 것이다. (의존성주입패턴) ..
HTTP & HTTPS & SSL 이해하기 📌 Http (Hypertext Transfer Protocol) ? 서로 다른 시스템 간 통신을 주고 받게 하는 가장 기본적인 프로토콜 로 초기에는 HTML을 주로 전송했으나 최근에는 JSON, XML 등 다양한 형태의 정보 전송도 하게 되었다. 클라이언트 ↔ 서버 모델을 기반으로 하며 Request와 Response로 이루어짐. Request는 아래처럼 요청 Method(GET,POST…), Path, 프로토콜 버전 그리고 헤더, Payload(Optional) 로 이루어짐. Response 구조는 프로토콜 버전, Status Code, Status message 그리고 Header , Payload(Optional) 정보로 이루어짐 📌 Https (Hypertext Transfer Protocol ..