[HTTP완벽가이드] 01. HTTP 개관

01. HTTP 개관

요약

HTTP 프로토콜: 웹 서버와 웹 클라이언트가 대화하는 규칙

웹 서버와 웹 클라이언트 구조

HTTP 프로토콜

웹 서버와 웹 클라이언트가 소통할 규칙을 정해놓은 것

URI: 요청대상을 표현하는 규칙

MIME 타입: 요청한 데이터의 형태

트랜잭션: 요청과, 요청에 대한 응답으로 구성

HTTP 메시지

HTTP 메시지의 구조

HTTP 메시지의 구조

자주 쓰이는 메서드 몇 가지

자주 쓰이는 상태코드 몇 가지

TCP/IP: HTTP 메시지는 어떻게 전송되는 가

TCP/IP

HTTP는 요청/응답 메시지의 형식에 관한 규칙 이 메시지 전송은 TCP/IP 프로토콜을 통해 이루어짐 TCP/IP 연결을 위해서 IP주소와 포트번호가 필요함

웹브라우저에서 URL의 화면을 보여주기까지의 과정

URL에서 IP주소와 포트번호를 추출하여 TCP/IP 연결을 맺고, HTTP 요청을 보냄

URL의 예

[1] http://207.200.83.29:80/index.html
[2] http://www.netscape.com:80/index.html
[3] http://www.netscape.com/index.html

웹브라우저에서 URL의 화면을 보여주기까지의 과정

# TCP/IP 커넥션 맺기
[1] 웹 브라우저는 서버의 URL에서 호스트 명을 추출
[2] 웹 브라우저는 서버의 호스트명을 IP로 변환
[3] 웹 브라우저는 URL에서 포트번호(있다면)를 추출
[4] 웹 브라우저는 웹 서버와 TCP/IP 연결을 맺음
# HTTP 요청하기
[5] 웹 브라우저는 서버에 HTTP 요청을 보냄
[6] 서버는 웹 브라우저에 HTTP 응답을 돌려줌
[7] 커넥션이 닫히면, 웹 브라우저는 문서를 보여줌

HTTP 애플리케이션의 예

프락시

클라이언트와 서버 사이에서 트래픽을 전달 예) 주로 보안을 위해 사용: 요청과 응답을 필터링

캐시

자주 찾는 문서의 사본을 저장

게이트웨이

HTTP 트래픽을 다른 프로토콜로 변환하기 위해 사용

터널

비 HTTP 데이터를 하나 이상의 HTTP 연결을 통해 그대로 전송해주기 위해 사용 예) 암호화된 SSL 트래픽을 HTTP 커넥션으로 전송함으로써 웹 트래픽만 허용하는 사내 방화벽 통과