HTTP 6

[Interview Question] TCP와 UDP의 차이를 설명해보세요.

애플리케이션에서 데이터를 생성한 후 TCP 소켓을 통해 TCP 계층에 데이터를 넘깁니다. 그 후 TCP는 데이터를 세그먼트 단위로 쪼개서 헤더를 붙인 다음 IP계층에 넘깁니다. 또 다른 컴퓨터의 IP 계층이 세그먼트를 받으면 TCP로 넘기고 그 후 순서대로 TCP는 재조립, 손실된 데이터는 재전송 요청, 중복을 제거합니다. 그 후 복구한 데이터를 해당 포트의 애플리케이션에 넘깁니다. UDP의 경우 애플리케이션에서 데이터를 UDP 소켓을 통해 UDP 계층에 전달을 받게되면 UDP는 메시지에 간단한 헤더(길이, 포트)정도만 붙여 데이터그램을 만들어 IP계층으로 넘깁니다. 또 다른 컴퓨터의 IP 계층이 그 데이터그램을 받게되면 UDP로 넘기고 헤더에 써있는 포트로 그대로 애플리케이션으로 전송하게 됩니다. 만약..

Interview Question 2025.09.02

[Interview Question] REST API란 무엇인가요?

RESTAPI는 REST 아키텍처 스타일을 따르는 api 설계 방식으로 자원은 uri로 정의하고 행위는 HTTP method로 정의하여 설계하는 방식입니다. restful한 api 개발의 특징으로는 일관된 HTTP 규칙만 잘 따른다면 언어와 플랫폼을 가리지 않고 범용적이게 사용할 수 있습니다. 또한 무상태성 즉, 사용자의 상태를 저장하지 않기 때문에 어떤 서버든 같은 요청을 받으면 같은 응답을 반환합니다. 그렇기 때문에 서버 수평확장에 용이하고 장애 대응을 하기 쉽습니다.

Interview Question 2025.08.31

[Interview Question] HTTP와 HTTPS의 차이를 설명해주세요

HTTP는 웹에서 클라이언트와 서버 사이의 데이터 전송을 위한 프로토콜입니다. HTTP같은 경우에는 보통 포트를 80번을 사용하며 평문으로 데이터를 전송하기 때문에 보안에 취약합이다. 하지만 HTTPS의 경우 SSL/TLS를 이용하여 데이터를 암호화하고 CA 인증서를 통해 서버를 검증할 수 있으므로 도청이나 변조, 피싱공격을 막을 수 있습니다. 보통 포트는 443번을 이용합니다.

Interview Question 2025.08.30

[Shop Project] HTTP vs HTTPS, SSL인증서 생성하기(2)

HTTPS를 개발환경(Localhost)에서 적용하는 방법Self-signed SSL 인증서 만들기keytool -genkeypair -alias myshop -keyalg RSA -keystore keystore.p12 -storetype PKCS12 -storepass 123456 -validity 3650HTTPS 적용을 위해 테스트용 인증서를 만드는 명령어이다. Java의 keytool 명령어로 공개키와 개인키 쌍을 생성하고, 이를 keystore.p12라는 파일에 저장했다. 생성된 kestore.p12파일을 resource 폴더에 위치시키면 스프링 부트에서 HTTPS 설정에 사용된다.2. application.yml 설정 확인server: port: 8443 ssl: enabled: t..

[Shop Project] HTTP vs HTTPS, SSL인증서 생성하기 (1)

쇼핑몰 웹사이트를 개발하다 보면, 회원가입, 로그인, 결제 등 민감한 정보를 다루게 된다. 이 때 http://가 아닌 https://를 사용하는 것은 보안에 중요한 영향을 끼친다.HTTP와 HTTPS의 차이를 공부한 다음 쇼핑몰 프로젝트에 HTTPS를 적용해보도록 하겠다. HTTP란 무엇인가?HTTP(HyperText Transfer Protocol)는 웹에서 클라이언트와 서버가 대화하는 방식을 정의한 규약이다. 브라우저가 서버에 요청(Request)을 보내고, 서버가 응답(Response)을 보내는 과정에서 사용된다. 처음에는 나도 '규약'이라는 단어가 너무 어색했다. 또한 실체가 없고 너무 추상적인 개념이라 조금 이해하기 어려웠다. 그래서 공부한 이후에 내가 이해한 방향으로 최대한 쉽게 설명해보도록..

[백엔드 면접 질문 준비] (2) HTTP METHOD에 대해서 설명해 보세요.

HTTP(HyperText Transfer Protocol)는 클라이언트와 서버 간의 통신을 위한 프로토콜로, HTTP 메서드는 이 통신에서 요청의 '의도'를 표현합니다. 즉, 클라이언트가 서버에 "어떻게 해줘!"라고 요청하는 방식을 정의합니다. 주요 HTTP 메서드 소개- GET기능: 서버에서 리소스를 조회합니다.특징: 안전하고 멱등합니다. (요청을 여러 번 해도 결과가 같음)예시: /users/1 → ID가 1인 사용자 정보 조회- POST기능: 서버에 리소스를 생성합니다.특징: 멱등하지 않음. (같은 요청을 여러 번 보내면 데이터가 중복 생성될 수 있음)예시: /users에 사용자 정보 전달 → 새로운 사용자 생성- PUT기능: 리소스를 "전체" 수정합니다.특징: 멱등함.예시: /users/1에 사..

Interview Question 2025.04.02