본문 바로가기

Web Development/Back-end

(39)
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 ..
인증 인가 방식 비교 📌 서버기반 인증(session) 서버에 세션을 만들어 사용자에 대한 정보를 저장, 관리 한다. 사용자 브라우저(클라이언트)에는 세션ID 를 저장하는 쿠키가 생성된다. 서버는 이 세션ID를 통해 사용자를 식별한다. 클라이언트가 어떤 요청을 보낼 때마다 헤더에 cookie에 대한 세션 id를 담아 전송 서버는 클라이언트 에서 보낸 세션id를 대조해 인증 상태를 확인함. 장점 쿠키가 노출되더라도 쿠키 자체(세션ID)는 유의미한 값을 가지고있지 않다. 사용자들은 각각 고유의 세션ID값을 발급받게 되어, 서버에서 쿠키 값을 받았을 때 회원정보를 하나하나 확인할 필요없다. 단점 쿠키가 탈취되어 서버에 요청을 보낸다면 서버는 인증된 사용자인지, 해커인지 구별할 방법이 없다. 📌 토큰기반 인증(JWT) JSON We..