HTTP(HyperText Transfer Protocol)는 클라이언트와 서버 간의 통신을 위한 프로토콜로, HTTP 메서드는 이 통신에서 요청의 '의도'를 표현합니다. 즉, 클라이언트가 서버에 "어떻게 해줘!"라고 요청하는 방식을 정의합니다.
주요 HTTP 메서드 소개
- GET
- 기능: 서버에서 리소스를 조회합니다.
- 특징: 안전하고 멱등합니다. (요청을 여러 번 해도 결과가 같음)
- 예시: /users/1 → ID가 1인 사용자 정보 조회
- POST
- 기능: 서버에 리소스를 생성합니다.
- 특징: 멱등하지 않음. (같은 요청을 여러 번 보내면 데이터가 중복 생성될 수 있음)
- 예시: /users에 사용자 정보 전달 → 새로운 사용자 생성
- PUT
- 기능: 리소스를 "전체" 수정합니다.
- 특징: 멱등함.
- 예시: /users/1에 사용자 전체 정보 전달 → 기존 사용자 정보 통째로 덮어쓰기
- PATCH
- 기능: 리소스를 "부분" 수정합니다.
- 특징: 멱등하지 않을 수도 있음.
- 예시: /users/1에 일부 필드만 전달 → 특정 정보만 수정
- DELETE
- 기능: 리소스를 삭제합니다.
- 특징: 멱등함.
- 예시: /users/1 → ID가 1인 사용자 삭제\
주의할 점
- PUT과 PATCH의 차이는?
- PUT은 전체 리소스를 덮어씀. 누락된 필드는 null이나 기본값으로 대체될 수 있음.
- PATCH는 변경하고 싶은 필드만 보냄. 기존 데이터는 유지됨.
- POST와 PUT 중 어떤 걸 써야 할까?
- POST: 리소스를 생성할 때 (서버가 ID 등 생성)
- PUT: 클라이언트가 ID를 지정하고 해당 리소스를 완전히 덮어쓸 때
'Interview Question' 카테고리의 다른 글
[백엔드 면접 질문 준비] (6) JVM이란 무엇인가? (0) | 2025.04.05 |
---|---|
[백엔드 면접 질문 준비] (5) 프로세스와 스레드의 차이는 무엇인가요? (0) | 2025.04.04 |
[백엔드 면접 질문 준비] (4) CI/CD란? (0) | 2025.04.03 |
[백엔드 면접 질문 준비] (3) HTTP 상태 코드에 대해 말해보세요. (0) | 2025.04.02 |
[백엔드 면접 질문 준비] (1) DI와 IoC에 대해 설명해보세요. (1) | 2025.03.31 |