1. HTTP 란?
인터넷 상에서 PC 간 HyperText 문서의 교환(통신)을 위한 프로토콜입니다.
PC 간이란 일반적으로 웹 서버와 웹 서버에 통신을 요청하는 클라이언트를 말합니다.
모든 통신에서 상방간의 미리 규정된 통신 규약이 있습니다. HTTP 역시 이런 통신 규약의 일종이며 웹 서버/클라이
언트 에서는 이 규약을 이해하고 처리할 수 있어야 합니다. 웹 서버에서는 HTTP 데몬이, 클라이언트는 웹 브라우저
가 그 역할을 담당합니다. 따라서 정확히 말하면 웹 서버의 HTTP 데몬과 웹 브라우저의 통신을 위한 통신 규약이라
고 보시면 됩니다. 이 프로토콜을 이용하여 웹 상에서 파일(텍스트,이미지,사운드,비디오등)을 송,수신 할 수 있습니
다. 이 프로토콜은 기본적으로 80 포트를 사용 합니다. 그리고 HTTP 프로토콜은 TCP 상에서 구현된 응용프로그램
레벨 프로토콜입니다.
즉, HTTP 의 통신 역시 TCP 통신 상에서 이루어 진다는 것입니다
2. HTTP Version
HTTP 0.9 -> HTTP 1.0 -> HTTP 1.1
HTTP 0.9 : 읽기 전용. GET 요청만 가능했습니다.
HTTP 1.0 : POST, HEAD 가 추가 되었습니다. 즉 클라이언트에서 서버로의 데이터 전송도 가능해 졌습니다.
HTTP 1.1 : PUT,DELETE,TRACE 등 추가 되었습니다. 클라이언트는 서버로의 데이터 전송 뿐만 아니라 변경,
삭제 까지 가능하게 되었습니다
HTTP 1.1과 그 이전 버전에서의 통신 메커니즘에는 많은 변화가 있습니다. 현재 거의 모든 웹 브라우저가 HTTP 1.1
을 지원 합니다. (MS Internet Explorer 4.0 이상, 넷스케이프 4.0 등). HTTP 1.1 을 지원하는 브라우저는 기본으로
1.1 을 사용하여 웹 서버와 통신을 합니다.
만일 이전 버전으로 통신하기를 원한다면 아래 옵션을 체크해제 하시면 됩니다

3. HTTP 통신 모델
HTTP 는 요청/응답 모델에 기반합니다
클라이언트는 요청 자원의 URI 와 헤더(HTTP버전,요청method,마임타입등)의 정보를 포함하여 웹 서버에게 요청 합니다. 웹 서버는 클라이언트의 요청이 들어오면 자원과 헤더 정보를 분석하여 요청한 자원의 데이터와 헤더(HTTP 상태코드,서버정보,리소스 수정일등)을 포함하여 클라이언트에게 응답 합니다.
4. HTTP 메시지
HTTP 요청/응답 과정에서의 HTTP 데이터는 아래 구조와 같습니다.
전송 데이터 >>
- 요청 시 : POST, PUT 요청 시 클라이언트는 웹 서버로 데이터를 전송한다.
GET 요청에서는 EMPTY
- 응답 시 : 요청한 파일의 데이터. 갱신되지 않았다면 EMPTY