HTTP 이론 및 통신 과정
- 정의 : 인터넷 접속을 위한 표준 프로토콜
- 특징
- HTTP는 TCP프로토콜을 사용하여 신뢰성 있게 데이터를 송수신한다.
- HTTP v1.0은 요청 -> 응답 이후 바로 연결을 종료하지만
v1.1의 경우 어느정도 대기 후 연결을 종료한다. (keep-alive 방식) - HTTP는 기본적으로 state-less라는 특성을 가지고 있다. (HTTP 요청 -> 응답 간의 데이터를 저장하지 않음)
- 클라이언트는 쿠키에 세션 ID를 저장하고, 서버는 세션에 사용자 상태를 저장하므로 웹은 stateful하게 작동한다.
이 특징들을 토대로 TCP 관점을 포함한 HTTP의 세션 연결 과정은 다음과 같다.

1. 웹 서버는 서비스 포트(80)를 개방 후 클라이언트의 요청이 오기 전까지 대기한다. (Listening)
2. 클라이언트는 웹 서버 접속 요청(SYN)을 시도한다.
3. 서버는 요청에 대한 응답(SYN+ACK)를 전송한다.
4. 클라이언트는 응답에 대한 확인 메시지(ACK)를 전송한다.
5. 예를 들어 TCP 헤더의 플래그 중 TCP-PUSH일 경우 빠른 처리를 위해 HTTP-GET 페이지를 요청한다.
6. 서버 측은 클라이언트 요청에 대한 점검을 한다. (해당 Checksum을 통한 무결성 확인은 TCP에서 수행한다.)
7. 요청 HTML 페이지를 클라이언트에 전송한다.
8. 클라이언트는 전송 데이터를 점검한다. (해당 Checksum을 통한 무결성 확인은 TCP에서 수행한다.)
9. Http는 statless하므로 세션 상태를 기억하지 않아 세션을 종료한다는 개념이 없어, TCP close로 세션을 종료한다.
'Security' 카테고리의 다른 글
| 네트워크 및 프로토콜 (3. IP) (0) | 2026.01.07 |
|---|---|
| HTTPS/SSL Handshake (0) | 2025.12.02 |
| 네트워크 및 프로토콜 (1. OSI 7 Layer) (0) | 2025.10.26 |
| 2025년 APT 및 최신 사이버 위협 동향 정리 (1) | 2025.09.28 |
| 현대 랜섬웨어 동향과 보안 시사점 (2) | 2025.09.21 |