WEB - HTTP란 ? (Hyper Text Transfer Protocol)

컴퓨터/WEB

728x90
반응형

HTTP 

HyperText Transfer Porotocol의 약자인 HTTP는 W3(World wide web)에서 정보를 주고받기 위한 통신 규약입니다.

간단하게 설명하자면, 서버와 클라이언트 간의 데이터를 주고받는 방법에 대한 규칙을 정해놓은 것입니다.

 

요청과 응답 그리고 HTTP

Web을 접하다 보면 요청(requests)과 응답(responses)이라는 말을 많이 접합니다.

지난 포스트들에서 언급한 바와 같이 클라이언트가 서버에게 요청(request)을 하면 서버는 응답(responses)하여 서버와 사용자 간의 데이터를 주고받을 수 있게 됩니다.

여기에 HTTP의 개념을 적용하여 다시 설명하자면 다음과 같습니다.

 

HTTP 프로토콜을 이용해서 클라이언트와 서버는 요청/응답을 할 수 있습니다. 

이 HTTP 프로토콜은 다양한 환경의 클라이언트와 서버에서 동일한 요청/응답을 할 수 있기 위한 하나의 통신 규약입니다.

 

서버와 클라이언트가 다양한 요청과 응답을 통해 데이터를 주고받습니다. 여기서 조금 더 깊게 들어가면, 다양한 요청과 응답을 하는 방법이 바로 HTTP 프로토콜을 이용한 것입니다.

 

메시지 형태의 HTTP 프로토콜

HTTP 프로토콜은 메시지 형태로 서버와 클라이언트 사이에서 응답과 요청을 합니다.

  • 요청 예시
GET / HTTP/1.1
Host : tistory.com
Accept-Language:en

위와 같은 형태로 HTTP 프로토콜(메시지)이 전송되게 됩니다. 

위의 부분을 기능별로 구분하자면 다음과 같습니다.

요청메서드(GET) Path(/) 프로토콜버전or형태(HTTP/1.1)
Header 데이터들
  • HTTP 메서드가 어떤 것인가?
  • Path는 어디인가?
  • 프로토콜의 버전은 어떤 것인가?
  • 요청하는 정보의 내용은 어떤 것인가?

이렇게 HTTP 프로토콜(메시지)의 형태로 서버에 요청을 하게 되면 어떠한 응답을 하게 될 것입니다.

  • 응답 예시
HTTP/1.1 200 OK
Date: Frim, 04 Mar 2022 04:08:48 GMT
Server: Apache
Content-length: 135
Content-type: text/html;

<html>
<head>...</head>
<body>...</body>

기능별로 구분하자면 다음과 같습니다.

사용 HTTP프로토콜 버전 / 상태 코드 / 상태메세지
헤더정보
리소스 및 본문

요청에 의한 서버로부터의 응답이 들어오게 됩니다. 

  • 응답하는 HTTP 프로토콜 버전
  • 요청의 결과 여부에 대한 상태 코드 
  • 상태 코드에 대한 설명 메시지
  • 헤더 정보
  • 리소스 및 본문

이런 식으로 HTTP 프로토콜의 메시지 형태로 서버와 클라이언트는 응답과 요청을 할 수 있습니다.

 

HTTP의 다양한 메서드들 - 다양한 요청 방법

기존 포스트에서 알아본 GET과 POST 이외에도 HTTP에는 다양한 메서드가 존재합니다.

  • GET
  • POST
  • HEAD
  • PUT
  • DELETE
  • CONNECT
  • OPTIONS
  • TRACE
  • PATCH

이런 메서드에 대해서는 추후에 차근차근 알아보도록 합시다.

 

HTTP의 다양한 상태 코드 - 다양한 응답 결과

다양한 메서드를 통하여 서버에게 요청을 하게 되면 당연히 서버로부터 결과를 얻게 됩니다. 이중 코드를 통해 전반적인 결과를 먼저 확인할 수 있습니다.

대표적인 코드를 몇가지 알아보자면 다음과 같습니다.

  • 404 - 서버에서 요청한 결과를 찾을 수 없다.
  • 200 - 정상적인 상태로 성공했다 
  • 502 - 게이트 웨이 상태 나쁨

대표적인 코드이며 전반적으로 가장 앞자리에 따라서 상태 코드의 카테고리를 알 수 있습니다.

 

  • 1XX (100번대 코드) - 정보 교환 상태 관련 코드
  • 2XX (200번대 코드) - 데이터 전송이 성공적으로 이루어졌을 때 상태 코드
  • 3XX (300번대 코드) - 자료의 위치가 바뀜을 알려주는 상태 코드
  • 4XX (400번대 코드) - 클라이언트의 실수 또는 문제에 관련된 상태 코드
  • 5XX (500번대 코드) - 서버측의 실수 또는 문제에 관련된 상태 코드

 

HTTP에 대한 간략한 개념과 동작 구조에 대하여 알아보았습니다.

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :