본문 바로가기
컴퓨터

HTTP란 무엇인가?

by 자주두선 2022. 10. 3.

브라우저의 상단 표시줄에 있는 웹 주소를 볼 때 웹 사이트 주소의 맨 처음 부분에 "http" 또는 "https"라는 글자를 보았을 것이다. http는 무엇이며 어떻게 동작하는가에 대해 알아보자.

 

 

HTTP

HTTP는 Hyper Text Transfer Protocol의 약자이다. 프로토콜 부분부터 시작하여 하나씩 분해해서 보도록 하자. 일반적인 기술 정의에서 프로토콜이라고 하는 것은 다른 기계가 서로 "대화"하기 위해 준수해야 할 일련의 규칙을 의미한다. 예를 들어 VPN 프로토콜은 VPN이 서버와 상호 작용하는 방식을  결정한다. 

 

HTTP가 없으면 월드 와이드 웹을 통한 통신도 불가능하다. 이는 HTTP가 웹 서버와 웹 클라이언트 간의 통신, 즉, "전송" 부분을 제어하기 때문이다. 웹 서버는 사이트를 볼 수 있도록 연결하는 것이다. 예를 들어 현재 접속 중인 웹 페이지도 웹서버에 접속 중이므로 블로그 글 확인이 가능한 것이다.

 

웹 서버에 접근하려면 웹 클라이언트가 필요하다. 대부분의 경우 이 클라이언트는 브라우저이지만 실제로는 모든 종류의 앱이 될 수 있다. 예를 들어 인스타그램 모바일 앱에서 이 글을 클릭하면 인스타그램의 인앱 브라우저가 웹 클라이언트가 된다. 클라이언트-서버 상호 작용은 전체 인터넷이 요약하는 것과 거의 비슷하며 HTTP는 이에 필수적이다.

 

 

HTTP 약어의 마지막 부분은 전송되는 파일 유형인 "하이퍼 텍스트" 부분으로 거의 항상 HTML 파일을 통해 전송된다. 이러한 유형의 파일은 언어를 표시할 뿐 아니라 상호 연결될 수도 있기 때문에 웹의 빌딩 블록이다.

 

간략히 표현하는 HTTP가 동작하는 방식

HTTP는 웹의 IP주소와 같은 인터넷 레이어 위의 소위 인터넷 애플리케이션 레이어에서 실행되는 프로토콜이다. 애플리케이션 계층은 매일 사용하는 브라우저와 앱을 찾을 수 있는 곳이며 HTTP는 그 일부이다.

 

작동 방식은 브라우저인 클라이언트가 네트워크를 통해 HTTP 요청을 보내고 액세스 하려는 사이트의 서버에서 처리하는 것이다. 그런 다음 사이트는 HTTP 응답을 다시 보내게 된다. 이 응답은 모든 것이 잘 되어있다면 보고자 하는 페이지가 된다. 그러면 브라우저가 응답을 표시하는 방식이다.

 

 

HTTP 요청 분석

HTTP 요청은 실제로 여려 부분으로 구성되며 각 부분은 사이트가 표시되는 방식에 중요한 역할을 한다. 모든 요청에서 가장 중요한 부분은 HTTP 메서드, 요청 헤더 및 요청 본문이다.

 

이 방법은 일반적으로 HTTP가 수행하도록 요청받는 작업이므로 정보를 검색하거나 제공한다.( 각각 "GET" 및 "POST" 명령이 있지만 다른 명령 또한 많다) HTML 요청 헤더는 일종의 봉투라고 생각하면 된다. 각 헤더에는 주소, 보낸 사람 주소 및 우편함의 유형(브라우저)과 같은 기타 정보가 포함된다. 암호화에 대한 정보도 여기에 포함된다.

 

HTML 본문은 로그인 정보 또는 서버가 페이지를 표시하기 위해 알아야 하는 정보와 같은 정보로 봉투를 채우게 된다. 때로는 비어 있고 요청 헤더인 봉투로도 충분하다.

 

HTTP 응답

요청이 수신되면 웹 서버는 HTTP 상태 코드, 응답 헤더 및 응답 본문의 세 부분으로 구성된 응답 작업을 시작한다. 헤더와 본문은 웹 페이지를 표시하기 위해 정보를 전달하는 파일과 같이 본문에 훨씬 더 많은 정보가 포함된다는 점을 제외하면 요청에서 해당하는 것과 유사하다.

 

 

상태 코드는 이따금 우리는 만나게 된다. 바로 "404:페이지 찾을 수 없음"이 대표적인 코드이다. 여기에는 1에서 5까지의 숫자로 시작할 수 있는 세 자리가 있다. 각 번호는 의미하는 것이 있다. 2로 시작하는 세 자리 코드는 성공(페이지가 문제없음이 표시됨)을 의미하고 4로 시작하는 코드는 오류를 의미한다.

 

HTTP 보안

HTTP는 여기에서 문제가 발생하게 된다. 그 이유는 어떤 정보도 암호화되거나 어떤 식으로든 보호되지 않기 때문이다. 순전히 요청 및 수신이며 보안이 추가되는 단계가 없다. 메시지를 가로챌 수 있는 사람은 누구나 신용 카드 번호 또는 계정 정보와 같은 항목을 포함하여 전송되는 내용을 볼 수 있다.

 

이 보안과 관련한 부분을 해결하기 위해 마지막에 Security를 의미하는 "S"를 추가하여 새로운 유형의 HTTP인 HTTPS가 출시되었다. 우리가 익히 사용하고 있는 대부분의 모든 사이트는 HTTPS로 옮겨지고 있다. 일반적인 HTTP 유형은 점점 줄어들어가고 있다.

댓글