본문 바로가기

HTTP

[HTTP] HTTP 기초 ( HTTP , URI 은 무엇인가 )

HTTP 기초 ( HTTP , URI 은 무엇인가  ) 


웹 개발자라면 누구나 아는 "HTTP" , 그동안은 웹은 HTTP 를 통해서 통신한다고 만 알고 있었지, 깊게 공부해본적은 없었다.

하지만 최근 "REST API" 를 사용하여 개발을 하다보니 자연스레 HTTP 의 구조에 대해 관심을 가지게 되었다.

<< HTTP 완벽가이드 >> 라는 책을 주로 참조하였으며 앞으로 책을 읽으며 하나씩 개념을 정리해나갈 생각이다.

 

HTTP 란?

  • HTTP는 Hyper Text Transfer Protocal 의 약자이다. 

  • 전 세계의 웹 브라우저, 서버, 웹 어플리케이션은 이 HTTP 를 사용하여 대화한다. 

  • HTTP 를 통해 이미지, HTML 페이지, 텍스트, 동영상 등 정보를 빠르고, 정확하고 간편하게 전달한다.

  • HTTP 는 신뢰성있는 전송프로토콜을 사용한다. ( 전송중 정보가 손상되지 않음을 보장 ) 

위 정의를 보면 HTTP 는 어떠한 정보를 주고 받기 위해 사용되는 약속이다.

한국사람과 중국사람이 있을때 서로 다른 언어를 주고 받는다면 대화가 성립되지 않을것이다.

만약 한국사람과 중국사람 사이에 공통되는 언어가 있다면 서로 정보를 주고 받을 수 있을것이다.

마찬가지로 네트워크도 대화를 위한 프로토콜이 맞지 않다면 서로 대화할 수 없다.

 

 

HTTP 는 HTTP 요청HTTP 응답이 있다. 

HTTP 요청은 웹 브라우저를 통해 서버로부터 어떠한 정보를 불러오고자 할때 사용하며, 이러한 요청에 서버는 HTTP 응답을 보낸다 .

 

클라이언트와 서버의 HTTP 통신

 

우리가 주로 사용하는 네이버, 구글 등을 생각해보자.

처음 주소창에 http://naver.com 와 같이 같이 입력할 것이다. 

그럼 뉴스, 쇼핑 등 다양한 정보를 볼수있다.  클라이언트가 주소창을 통해 서버로 부터 HTTP 요청을 하였고,

이러한 요청의 대한 응답으로 서버는 클라이언트에게 HTTP 응답 을 한것이다. 

 

그렇다면 위처럼 주소를 입력하였을때 어떻게 서버로 부터 요청이 이루어지고 응답받을 수 있는것일까?

 

URI ( Uniform Resource Indenfier ) 

 

웹 서버의 리소스는 각자 이름을 가지고 있다.

따라서 클라이언트는 이러한 이름을 통해 원하는 정보를 찾을 수 있다.

이때 서버 리소스의 이름은 통합 자원 식별자 또는 URI 라고 부른다. 

 

이번엔 카카오 사이트 를 접속하여 비전이라는 메뉴를 클릭하여 살펴보겠다

메뉴를 클릭하면  https://www.kakaocorp.com/kakao/introduce/vision 와 같이 URI 가 

 

https:// : HTTP 프로콜을 사용하겠다 ( 뒤의 s 는 기존 프로콜에서 보안이 강화된 버전이다 ) 

www.kakaocorp.com : 카카오 사이트의 주소   

/kakao/introduce/vision : 리소스 위치 

 

예를 들어서 카카오를 가져온 이유는 URI 만 보고도 어떤 리소스를 가져오게 될지 알 수 있을만큼 의미있고 간결한게 URI 를 구성하였기 때문이다.  위 URI 는 카카오홈 -> 카카오 -> 카카오 소개 -> 비전 리소스의 URI 모습이다.

 

다음번에는 클라이언트 <-> 웹 서버가 어떻게 데이터를 주고 받는지 좀더 상세하게 알아보도록 하겠다.