📅날짜
2025/08/11
📖HTTP Request & HTTP Response 정리
📌 HTTP Request
클라이언트가 서버에 특정 작업을 요청하는 메시지
1.구조
Start Line
- 요청 메서드(Method): GET, POST, PUT, DELETE 등
- 요청 대상(Request Target): URL 또는 경로
- HTTP 버전: HTTP/1.1, HTTP/2 등
- ex)
GET /index.html HTTP/1.1
Headers
- 요청에 대한 부가 정보
- 예시
- Authorization: 인증 정보
- Origin: 요청이 발생한 출처
- Cookie: 클라이언트 저장 쿠키
- Content-Type: 요청 데이터 타입 (application/json, multipart/form-data 등)
- 서버는 이 값을 참고해 적절한 응답을 생성
Body (선택)
- POST, PUT, PATCH 요청에서 주로 사용
- 서버로 전송할 실제 데이터 (폼 데이터, JSON 등)
- GET 요청에서는 보통 Body가 없음
📌 HTTP Response
서버가 클라이언트 요청에 응답하는 메시지
1. 구조
Status Line
- HTTP Version: HTTP/1.1, HTTP/2 등
- Status Code: 요청 처리 결과를 나타내는 3자리 숫자
- Status Text: 상태 코드에 대한 짧은 설명
- 예시
HTTP/1.1 200 OK
Headers
- 응답에 대한 부가 정보
- 예시
- Content-Type: 응답 데이터 타입 (text/html, application/json 등)
- Content-Length: 응답 데이터 길이
- Cache-Control: 캐시 정책
- Set-Cookie: 클라이언트에 쿠키 저장
Body (선택)
- 요청 결과 데이터, HTML 문서, JSON, 이미지 등
- 데이터 전송 필요가 없으면 비어 있음 (204 No Content)
2. 상태 코드(Status Code) 종류
- 1xx (Informational) — 정보 제공
- 2xx (Success) — 성공
- 3xx (Redirection) — 리다이렉션
- 4xx (Client Error) — 클라이언트 오류
- 5xx (Server Error) — 서버 오류
🎓느낀점
HTTP 통신은 단순히 요청과 응답으로 끝나는 게 아니라 그 안에 다양한 규칙과 문법이 체계적으로 구성되어있다는 것을 알게되었다.
디버깅 시 상태 코드를 보고 현재 상태를 좀 더 잘 파악 할 수 있을것같다.