웹에서 웹 클라이언트(브라우저)와 웹 서버가 서로 정보를 주고받을 수 있는 응용 계층의 프로토콜 중 하나로, TCP/IP 프로토콜을 이용한다.
<aside> 💡 HTTP는 이미지, 텍스트, 오디오 등 여러 가지 유형의 데이터들을 주고받을 수 있다. 이런 웹 컨텐츠는 MIME 타입으로 인코딩된다.
</aside>
웹 서버에서 전송되는 여러 종류의 컨텐츠 유형들을 전달하기 위해 필요한 매커니즘이다.
역할
바이너리 파일의 송수신
웹은 텍스트 파일 뿐만 아니라 여러 바이너리 파일(오디오, 이미지, 비디오 등)을 전송하기도 한다. 이런 바이너리 파일들을 문제 없이 전달하기 위해 파일을 MIME 타입 텍스트파일로 인코딩한다.
데이터의 유형 명시(Content-type)
클라이언트와 서버는 주고받는 데이터 본체의 MIME 타입을 통해 데이터가 어떤 유형인지 파악하고, 어떻게 데이터를 해석할지를 결정한다.
예를 들어, 서버에서 클라이언트에게 준 데이터 본체의 MIME 타입이 text/html
이라면, 클라이언트는 이 데이터가 html
형식의 텍스트 데이터라는 것을 알 수 있다.
MIME 타입의 예
Content-Type
HTTP 요청, 응답 메세지의 헤더 중에는 MIME 타입으로 표현된 Content-Type 헤더라는 것이 있다. 이 HTTP 메세지의 바디 데이터를 상대가 어떤 MIME 타입으로 해석해야 할 지를 알려준다.
웹에서 컨텐츠는 단지 파일이다. 웹 서버가 클라이언트에게 컨텐츠를 제공하는 유형을 크게 정적, 동적 컨텐츠로 나눌 수 있다.
웹 네트워크 상에 있는 컨텐츠(자원)가 어디 있는지를 알려주는 주소이다. 작게는 웹 페이지, 크게는 컴퓨터 네트워크 상의 모든 자원의 위치를 나타낼 수 있다.
해당 웹 자원의 주소에 접근하려면 해당 URL에 맞는 프로토콜로 접속해야 한다.