HTTP 동작 과정
서버 접속 → 클라이언트 → 요청 → 서버 → 응답 → 클라이언트 → 연결 종료
- 사용자가 웹 브라우저에 URL 주소 입력
- DNS 서버에 웹 서버의 호스트 이름을 IP 주소로 변경 요청
- 웹 서버와 TCP 연결 시도
- 클라이언트가 서버에게 요청
- HTTP Request Message = Request Header + 빈 줄 + Request Body
- Request Header
- 요청 메소드 + 요청 URI + HTTP 프로토콜 버전
- GET /background.png HTTP/1.0 POST / HTTP 1.1
- Header 정보(key-value 구조)
- 빈 줄
- 요청에 대한 모든 메타 정보가 전송되었음을 알리는 용도
- Request Body
- GET, HEAD, DELETE, OPTIONS처럼 리소스를 가져오는 요청은 바디 미포함
- 데이터 업데이트 요청과 관련된 내용 (HTML 폼 콘텐츠 등)
- 서버가 클라이언트에게 데이터 응답
- HTTP Response Message = Response Header + 빈 줄 + Response Body
- Response Header
- HTTP 프로토콜 버전 + 응답 코드 + 응답 메시지
- ex. HTTP/1.1 404 Not Found.
- Header 정보(key-value 구조)
- 빈 줄
- 요청에 대한 모든 메타 정보가 전송되었음을 알리는 용도
- Response Body
- 서버 클라이언트 간 연결 종료
- 웹 브라우저가 웹 문서 출력