HTTP 13

[개발면접] 쿠키(Cookie)와 세션(Session)의 차이, 로그인은 어떻게 유지될까?

웹 개발을 하다 보면 로그인 이후 페이지를 이동하거나 API를 여러 번 호출해도 로그인 상태가 계속 유지된다.그런데 HTTP는 기본적으로 Stateless한 프로토콜이다. 각각의 요청은 독립적으로 처리되기 때문에 별도의 장치가 없다면 서버는 이전 요청에서 누가 로그인했는지 기억하지 못한다.그렇다면 서버는 어떻게 같은 사용자의 요청이라는 것을 알 수 있을까?이 문제를 이해할 때 가장 먼저 알아야 하는 개념이 쿠키(Cookie)와 세션(Session)이다.핵심 차이부터 보면 다음과 같다.구분CookieSession주요 저장 위치클라이언트서버주요 역할작은 데이터 저장 및 전달사용자 상태 관리인증에서의 역할Session ID 등을 전달로그인 사용자 정보 관리서버 저장 공간직접 필요하지 않음필요주요 고려사항탈취,..

개발/개발면접 2026.08.28

[개발면접] TCP 3-Way Handshake와 4-Way Handshake 쉽게 이해하기

네트워크 관련 개발 면접에서 정말 자주 등장하는 질문이 있다."TCP 3-Way Handshake를 설명해주세요."여기서 끝나지 않고 보통 이런 질문도 이어진다."연결할 때는 왜 3번이고, 종료할 때는 왜 4번인가요?""TIME_WAIT은 왜 필요한가요?"처음 공부할 때는SYNSYN + ACKACK순서만 외우기 쉽다.하지만 면접에서는 순서 자체보다 왜 이런 과정을 거치는지를 이해하고 설명하는 게 중요하다.핵심부터 정리하면 다음과 같다.TCP 3-Way Handshake는 클라이언트와 서버가 데이터를 주고받기 전에 서로 통신 가능한 상태인지 확인하고 연결을 설정하는 과정이다.반대로 연결을 종료할 때는 4-Way Handshake를 사용한다.하나씩 살펴보자.TCP부터 간단하게 정리해보자TCP는 Transmi..

개발/개발면접 2026.08.20

[개발면접] HTTP와 HTTPS 차이, HTTPS는 어떻게 데이터를 안전하게 전송할까?

HTTP와 HTTPS는 무엇이 다를까?백엔드 개발자 면접에서 네트워크 관련 질문으로 자주 등장하는 주제 중 하나가 HTTP와 HTTPS의 차이다.둘 다 웹에서 데이터를 주고받기 위해 사용하는 프로토콜이지만 가장 큰 차이는 보안이다.간단하게 정리하면 다음과 같다.HTTP→ 데이터를 평문에 가깝게 전송HTTPS→ TLS를 이용해서 암호화된 통신조금 더 정확히 말하면 HTTPS는 새로운 프로토콜이라기보다HTTP 통신을 TLS 위에서 수행하는 방식이라고 이해하면 된다.구조를 보면 다음과 같다.HTTPHTTP↓TCP↓IPHTTPS는 다음과 같다.HTTPSHTTP↓TLS↓TCP↓IPHTTPS에서는 HTTP 데이터가 네트워크로 전달되기 전에 TLS 계층에서 보호된다.HTTP는 왜 위험할까?예를 들어 로그인 요청을 보..

개발/개발면접 2026.08.17

[개발면접] TCP와 UDP 차이, 개발 면접에서 어떻게 설명할까?

TCP와 UDP란?개발 면접에서 네트워크 관련 질문으로 자주 등장하는 것이 TCP와 UDP의 차이다.둘 다 네트워크에서 데이터를 전송할 때 사용하는 전송 계층(Transport Layer) 프로토콜이다.하지만 데이터를 전달하는 방식과 중요하게 생각하는 부분이 다르다.먼저 아주 간단하게 정리하면 다음과 같다.TCP→ 신뢰성 있는 데이터 전송이 중요UDP→ 빠르고 단순한 데이터 전송이 중요TCP는 데이터가 제대로 도착했는지 확인하면서 전송한다.반면 UDP는 데이터를 보내는 것에 집중하고 상대방이 제대로 받았는지까지 보장하지 않는다.이 차이 때문에 사용하는 분야도 달라진다.TCP란?TCP는 Transmission Control Protocol의 약자다.TCP의 가장 큰 특징은 신뢰성 있는 연결 지향 통신이라는..

개발/개발면접 2026.08.14

[개발면접] REST API란? RESTful하게 설계한다는 것은 무엇일까?

REST API란?백엔드 개발자라면 REST API를 직접 만들어본 경험이 있을 가능성이 높다.그런데 면접에서REST API가 무엇인가요?라는 질문을 받으면 의외로 설명하기 어렵다.단순히GET 조회POST 생성PUT 수정DELETE 삭제라고 설명하는 경우도 있지만, 이것만으로 REST를 설명하기에는 부족하다.REST는 Representational State Transfer의 약자이며, 네트워크 기반 애플리케이션을 설계하기 위한 아키텍처 스타일이다.REST API를 이해할 때 가장 중요한 것은 Resource(자원)를 중심으로 생각하는 것이다.예를 들어 사용자라는 자원이 있다고 해보자./users특정 사용자는 다음처럼 표현할 수 있다./users/100그리고 HTTP Method를 이용해서..

개발/개발면접 2026.08.14

REST API란 무엇일까? 백엔드 개발자가 가장 많이 사용하는 API

REST API란 무엇일까? 왜 많이 사용할까?백엔드 개발을 시작하면 가장 많이 듣는 단어 중 하나가 REST API다.처음에는 REST가 하나의 기술인 줄 알았다.하지만 실제로는 API를 설계하는 하나의 방식(아키텍처 스타일)이다.오늘은 REST API가 무엇인지, 왜 많이 사용하는지 쉽게 정리해보려고 한다.API란?먼저 API부터 이해해야 한다.API(Application Programming Interface)는프로그램끼리 데이터를 주고받는 약속이다.예를 들어앱↓회원 정보 요청↓서버↓회원 정보 반환이 과정 자체가 API다.REST란?REST(Representational State Transfer)는API를 설계하는 규칙 또는 스타일이다.즉,REST = API가 아니다.REST를 따르는 API를RE..

개발/CS 2026.08.02

CORS는 왜 발생할까? 브라우저가 요청을 막는 이유

CORS는 왜 발생할까?API를 개발하다 보면 한 번쯤은 이런 에러를 만나게 된다.Access to fetch has been blocked by CORS policy처음 봤을 때는 서버가 문제인 줄 알았다.하지만 실제로는 브라우저가 요청을 막고 있는 경우가 대부분이다.오늘은 CORS가 왜 생겼고, 어떻게 해결하는지 쉽게 정리해보려고 한다.CORS란?CORS(Cross-Origin Resource Sharing)는다른 출처(Origin)의 서버에 접근할 수 있도록 브라우저가 허용 여부를 확인하는 보안 정책이다.쉽게 말하면"이 사이트에서 저 사이트 API를 호출해도 괜찮을까?"를 브라우저가 대신 확인하는 것이다.Origin(출처)이란?Origin은 아래 3가지가 모두 같아야 같은 출처다.프로토콜(http,..

개발/CS 2026.08.02

쿠키와 세션 차이 쉽게 이해하기

웹 개발을 시작하면 가장 먼저 접하는 개념 중 하나가 쿠키(Cookie)와 세션(Session)이다.로그인을 구현하거나 사용자 정보를 유지할 때 항상 등장하는데, 처음에는 둘의 차이가 헷갈리기 쉽다.실무에서도 "이건 쿠키로 저장해야 하나?", "세션으로 관리하는 게 맞지 않나?" 같은 이야기를 자주 한다.이번 글에서는 쿠키와 세션의 차이를 최대한 쉽게 정리해본다.쿠키(Cookie)란?쿠키는 브라우저(클라이언트)에 저장되는 작은 데이터이다.서버가 브라우저에게 데이터를 보내면 브라우저가 저장해두었다가 이후 요청마다 다시 서버로 전달한다.예를 들어 쇼핑몰에서 로그인하지 않아도 장바구니가 유지되는 경우가 있다.이런 기능은 쿠키를 이용하는 경우가 많다.쿠키 동작 과정사용자가 사이트에 접속한다.서버가 쿠키를 생성하..

개발/CS 2026.08.01

3-Way Handshake와 4-Way Handshake 쉽게 이해하기

면접 단골 질문! 3-Way Handshake와 4-Way Handshake 완벽 정리TCP를 공부하다 보면 가장 많이 나오는 개념이 바로 3-Way Handshake와 4-Way Handshake다.면접에서도 정말 자주 나오고, 네트워크 문제를 분석할 때도 자주 등장한다.처음에는 이름만 들어도 어려워 보이지만, 사실은 "연결을 시작하는 과정"과 "연결을 종료하는 과정"이라고 생각하면 이해하기 쉽다.먼저 TCP는 왜 Handshake가 필요할까?TCP는 데이터를 보내기 전에"우리 이제 통신 시작해도 될까?"라고 서로 확인하는 과정을 거친다.갑자기 데이터를 보내면 상대방이 받을 준비가 안 되어 있을 수도 있기 때문이다.그래서연결 시작데이터 전송연결 종료이 세 단계로 통신이 이루어진다.3-Way Handsh..

개발/CS 2026.08.01

HTTP와 HTTPS 차이 쉽게 이해하기

웹 개발을 시작하면 가장 먼저 접하는 단어 중 하나가 HTTP와 HTTPS다.브라우저 주소창을 보면 어떤 사이트는 http://로 시작하고, 대부분의 사이트는 https://로 시작한다.단순히 S 하나 차이처럼 보이지만, 실제로는 보안 측면에서 매우 큰 차이가 있다.이번 글에서는 HTTP와 HTTPS의 차이를 쉽게 이해해보자.HTTP란?HTTP(HyperText Transfer Protocol)는브라우저와 서버가 데이터를 주고받기 위한 규칙이다.예를 들어 브라우저에서https://google.com을 입력하면브라우저는 서버에게"메인 페이지 주세요."라는 요청(Request)을 보내고,서버는"여기 HTML입니다."라는 응답(Response)을 보내준다.웹 페이지가 동작하는 가장 기본적인 프로토콜이다.HTT..

개발/CS 2026.08.01