internet
HTTP란.
HTTP 요청과 응답, 메서드, 상태 코드, HTTPS의 기본 구조
**HTTP(Hypertext Transfer Protocol)**는 클라이언트와 서버가 웹 리소스를 주고받기 위한 애플리케이션 계층 프로토콜입니다.
📨 요청과 응답
HTTP 통신은 클라이언트의 요청과 서버의 응답으로 이루어집니다.
요청
- 메서드: 수행할 동작을 나타냅니다. 예:
GET,POST,PUT,DELETE - 경로: 요청할 리소스의 위치입니다. 예:
/docs/1 - 헤더: 콘텐츠 형식, 인증 정보 같은 부가 정보를 담습니다.
- 본문: 서버에 전달할 데이터를 담습니다. 주로
POST,PUT,PATCH에서 사용합니다.
응답
- 상태 코드: 처리 결과를 숫자로 표현합니다.
- 헤더: 캐시, 쿠키, 콘텐츠 형식 등의 정보를 담습니다.
- 본문: HTML, JSON, 이미지 등 실제 리소스를 담습니다.
🔢 주요 상태 코드
- 2xx 성공:
200 OK,201 Created,204 No Content - 3xx 리다이렉션:
301 Moved Permanently,304 Not Modified - 4xx 클라이언트 오류:
400 Bad Request,401 Unauthorized,404 Not Found - 5xx 서버 오류:
500 Internal Server Error,503 Service Unavailable
🧩 HTTP의 특징
- Stateless: 각 요청을 독립적으로 처리합니다. 로그인 상태는 쿠키, 세션, 토큰 등으로 보완합니다.
- 확장 가능: 헤더를 통해 인증, 캐시, 콘텐츠 협상 같은 기능을 추가합니다.
- 텍스트 기반 의미 구조: 메서드, URL, 상태 코드로 요청과 결과의 의미를 표현합니다.
🔒 HTTP와 HTTPS
HTTPS는 HTTP 통신을 TLS로 암호화합니다.
- 통신 내용을 제삼자가 읽기 어렵게 합니다.
- 전송 중 데이터가 변조되지 않았는지 확인합니다.
- 인증서를 통해 접속한 서버의 신원을 검증합니다.
실제 웹 서비스는 로그인 여부와 관계없이 HTTPS를 기본으로 사용해야 합니다.
🔗 참고 자료
- MDN: HTTP — HTTP 개요와 가이드의 진입점이다.
- RFC 9110: HTTP Semantics — HTTP 메서드, 상태 코드, 의미론을 정의한다.
- MDN: HTTPS — TLS로 보호되는 HTTP를 설명한다.
