본문 바로가기

정보

웹개발자와 대화하기 위한 단어 사전 #1. HTTP

1. 들어가면서

웹개발자로 생활하면서 강산이 바뀌었습니다.

맨 처음 개발자로 일을 하면서 다양한 용어에 부딛히면서 뭘 이렇게 어렵게 이야기 하나 싶었는데

요즘은 쉽게 설명해달라는 말을 많이 듣게 됩니다.

 

항상 초심을 유지하자고 마음을 다지지만, 쉽지만은 않은 것 같습니다.

 

이 글을 정리하면서 저도 초심으로 돌아가서 일하는데 마음을 다잡아 보도록 하겠습니다.

 

2. 용어

HTTP라는 단어는 많이 보셨을 것입니다.

 

요새 브라우저에서 자동으로 숨겨주긴 하지만, 지금 접속한 사이트도 앞에 http 혹은 https라는 단어가 붙어 있습니다.

 

HTTP는 HyperText Transfer Protocol의 약자입니다.

HTTPS는 HyperText Transfer Protocol over Secure socket layer의 약자입니다.

 

HTTPS는 SSL(Secure socket layer)을 이용한 HTTP라는 의미로 나중에 기회되면 SSL을 설명하기로 하고,

우선은 보안 상 안전한 HTTP라고 생각하시면 될 것 같습니다.

 

3. 하이퍼텍스트란?

그럼 하이퍼텍스트가 무엇인지 부터 설명을 해야 할 것입니다.

 

인터넷 상의 페이지는 많은 링크로 이루어져 있습니다.

이 글을 들어오기까지 여러 링크를 거치셨을 것입니다.

 

그러한 링크를 통해 페이지가 연결되어있는 글을 하이퍼텍스트라고 합니다.

 

아이들 책 중에는 이러한 방식으로 이루어진 책이 있습니다.

"앞의 문을 여는 경우 50페이지로 가시오. 옆의 문을 여는 경우 100페이지로 가시오."

 

이러한 개념인데, 페이지 중간이 없이 바로 이동되는 개념이 하이퍼텍스트라고 보시면 됩니다.

 

4. 프로토콜

미리 정해놓은 규칙이나 약속을 의미합니다.

 

HTTP에서는 맨 뒤의 TP는 Transfer protocol로 전송 규약정도로 해석될 것 같고

위에서 설명한 하이퍼텍스트를 주고 받기위한 방법을 미리 정해두고 약속한 것이라고 이해하면 될 것입니다.

 

어떤 건물의 문을 모두 오른쪽에서 왼쪽으로 미닫이로 하기로 약속 해 두었는데

문을 앞으로 계속 밀면서 문이 열리지 않는다고 할 수 없듯,

사전에 정한 대로 주지 않아 받지 못하게 되거나 잘못 전달되는 상황을 방지하기 위한 규약이라 보면 됩니다.

 

5. 구성

HTTP는 요청(request)과 응답(response)으로 이루어져 있습니다.

 

사용자가 웹브라우저 등을 통해 서버에 요청하면

서버는 그 요청을 분석해서 결과를 보내주는 방식입니다.

 

서버라는 단어의 개념은 다음 글에서 정리하도록 하겠습니다.

 

식당에 가서 음식을 주문(요청)하면 주문한 요리가 식탁에 나오는 개념으로 보시면 됩니다.

HTTP는 음식을 주문하기 위한 주문서 양식이겠네요.

 

HTTPS는 그 주문서를 열쇠로 잠긴 상자에 담아 전달하고, 주문 받는 분이 다른 열쇠로 상자를 열어 읽는 개념이 됩니다.

 

6. 요약

HTTP는 하이퍼텍스트를 주고 받기 위해 미리 정해놓은 약속이고,

웹페이지는 주로 HTTP를 통해 데이터를 주고 받는다.

 

7. 마치며

많은 분들이 개발자가 뭔가는 하는데 일을 하고 있는지 모르겠다라고 합니다.

글자가 쓰여있긴 한데 무슨말인지 모르겠다.

무언가 말은 하는데 이해하기 힘들다고도 합니다.

 

제가 작성하는 글이 그러한 어려움에 도움이 되셨으면 좋겠습니다.

 

다음 글은 비 개발자분들이 많이 헷갈리는 서버/클라이언트의 개념에 대해 정리해보겠습니다.