본문 바로가기

IT 용어 정리

HTTP(Hypertext Transfer Protocol) 정의

 

 

 

1. HTTP

 

 

 

HTTP (Hypertext Transfer Protocol)는는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다.

프로토콜이란 상호 간에 정의한 규칙을 의미하며 특정 기기 간에 데이터를 주고받기 위해 정의되었다.

 

 HTTP는 WWW(World Wide Web) 상에서 정보를 주고받을 수 있는 프로토콜이며, 주로 HTML 문서를 주고받는 데에 사용된다.

우리가 흔히 사용하는 웹의 대부분이 HTTP를 통해 이루어지고 있고, 지금까지 웹 또는 앱 애플리케이션을 만들 때, 클라이언트와 서버 사이의 요청과 응답을 하는데 HTTP가 사용되며, 클라이언트 카 HTTP를 통해 서버로부터 웹페이지나 정보를 요청하며 서버는 이 요청에 응답하여 필요한 정보를 클라이언트에게 전달하게 된다. 그러면 웹 브라우저와 같은 클라이언트는 이를 모니터와 같은 출력 장치를 통해 유저에게 나타내는 것 방식이다.

 

 HTTP 프로토콜은 상태가 없는 프로토콜이다. 여기서 상태가 없다라는 말은 데이터를 주고받기 위한 각각의 데이터 요 청이 서로 독립적으로 관리가 된다는 말이다. 좀 더 쉽게 말해서 이전 데이터 요청과 다음 데이터 요청이 서로 관련이 없다는 것이다.

 이러한 특징 덕택에 서버는 세션과 같은 별도의 추가 정보를 관리하지 않아도 되고, 다수의 요청 처리 및 서버의 부하를 줄일 수 있는 성능 상의 이점이 생긴다.

 

 HTTP는 어떤 종류의 데이터든지 전송할 수 있도록 설계돼 있다.

HTTP로 보낼 수 있는 데이터는 HTML문서, 이미지, 동영상, 오디오, 텍스트 문서 등 여러종류가 있다.

 

 작동방식은 HTTP는 서버/클라이언트 모델을 따른다. 클라이언트에서 요청을 보내면 서버는 요청을 처리해서 응답한다.

1, 클라이언트 : 서버에 요청하는 클라이언트 소프트웨어(IE, Chrome, Firefox, Safari...)가 설치된 컴퓨터를 이용한다. 

클라이언트는 URI를 이용해서 서버에 접속하고, 데이터를 요청할 수 있다.

 

2, 서버 : 클라이언트의 요청을 받아서, 요청을 해석하고 응답을 하는 소프트웨어가 설치된 컴퓨터(Apache, nginx, IIS, lighttpd) 등이 서버 소프트웨어다.

 

웹서버는 보통 표준포트인 80번 포트로 서비스한다.