HTTP란 무엇인가?
HTTP(HyperText Transfer Protocol)는 클라이언트-서버 간의 요청/응답을 처리하는 프로토콜입니다.
HTTP는 클라이언트와 서버 간의 요청-응답을 처리하는 애플리케이션 계층 프로토콜입니다. 기본적으로 stateless하며, 요청 방식(메서드)과 응답 코드, 헤더, 바디 등의 개념을 포함합니다. GET, POST, PUT, DELETE 같은 메서드를 사용해 리소스를 요청하고 조작합니다. 또한, HTTP/1.1, HTTP/2, HTTP/3 등의 버전이 있으며 성능과 보안 측면에서 차이를 보입니다.
주요 개념
- HTTP의 특징
- Stateless (기본적으로 상태를 유지하지 않음)
- Request-Response 구조
- 메서드(GET, POST, PUT, DELETE 등)와 역할
- HTTP 메시지 구조
- 요청(Request):
메서드 + URL + 헤더 + 바디
- 응답(Response):
상태코드 + 헤더 + 바디
- 주요 헤더 (Content-Type, Cache-Control, Authorization 등)
- 요청(Request):
- HTTP 상태 코드
- 2xx (성공): 200 OK, 201 Created
- 3xx (리디렉션): 301 Moved Permanently, 302 Found
- 4xx (클라이언트 오류): 400 Bad Request, 401 Unauthorized, 404 Not Found
- 5xx (서버 오류): 500 Internal Server Error, 503 Service Unavailable
- HTTP와 HTTPS 차이
- HTTPS는 TLS/SSL을 적용해 보안을 강화한 HTTP
- HTTP/1.1 vs HTTP/2 vs HTTP/3 차이점
- HTTP/2: 멀티플렉싱, 서버 푸시
- HTTP/3: QUIC 프로토콜 사용, 더 빠른 연결
OSI 7 계층이란?
OSI 7 계층(Open Systems Interconnection Model)은 네트워크 통신을 7개의 계층으로 나눈 모델입니다. 각 계층은 특정한 역할을 하며, 네트워크 데이터가 어떻게 송수신되는지를 설명하는 데 사용됩니다.
OSI 7 계층 구조
- 응용 계층 (Application Layer) – HTTP, FTP, SMTP
- 표현 계층 (Presentation Layer) – 데이터 암호화/복호화 (SSL/TLS)
- 세션 계층 (Session Layer) – 연결 유지, 세션 관리 (소켓 통신)
- 전송 계층 (Transport Layer) – TCP(연결형) / UDP(비연결형)
- 네트워크 계층 (Network Layer) – IP 주소 지정 및 라우팅 (IP, ICMP)
- 데이터 링크 계층 (Data Link Layer) – MAC 주소, 이더넷 (ARP, 스위치)
- 물리 계층 (Physical Layer) – 실제 신호 전송 (케이블, Wi-Fi)
OSI 7 계층은 네트워크 통신을 7개의 계층으로 나눈 개념 모델입니다. 각 계층은 데이터를 송수신하는 역할을 나누며, 예를 들어 HTTP는 응용 계층, TCP/UDP는 전송 계층, IP는 네트워크 계층에서 동작합니다. 이 모델을 통해 데이터 흐름을 단계적으로 이해할 수 있습니다.
'TIL' 카테고리의 다른 글
[250216 TIL] Duck Typing (0) | 2025.02.16 |
---|---|
[250215 TIL] XSS, CSRF 대응 (0) | 2025.02.15 |
[250213 TIL] 추상화, 캡슐화(개념정리) (0) | 2025.02.13 |
[250213 TIL] TBD vs Github Flow(개념정리) (0) | 2025.02.13 |
[250212 TIL] 애자일 방법론(개념정리) (0) | 2025.02.13 |