본문 바로가기
IT KNOWLEDGE

서버와 HTTP 개념 이해

by BTC_김회장 2023. 9. 15.

안녕하세요~! 선선한 가을로 접어들고 있는 9월 입니다!

오늘도 인사통은 돌아왔습니다.

오늘은 서버와 HTTP 개념에 대해서 알아보겠습니다.!

 

클라이언트와 서버

우선 서버와 HTTP를 이해하려면 네트워크에 대해 알고 있어야합니다.

네트워크란 컴퓨터랑 컴퓨터간의 연결을 의미합니다.

여러분들이 이 글을 보며 정보를 습득하는 것도 모두 네트워크로 우리가 연결되어 있기 때문이라고 볼수있죠!

 

그럼여기서 클라이언트와 서버에 대해 알아볼까요?

클라이언트(Client)는 네트워크에서 정보를 요구해서 받는 쪽을 말하고

정보를 제공해주는 쪽은 서버(Server)라고해요

보통 우리가 사용하는 웹, 앱은 클라이언트입니다. 그리고 상품 정보, 로그인, 이미지 등을 전달해주는 쪽은 서버가 되겠죠.

 

실제로 우리가 사용하는 웹, 앱 서비스는 다양한 서버들과 통신하고 있습니다.

  • 우리가 브라우저에서 웹에 접속한다는 것은 웹 서버에서 웹(HTML,CSS,JS)를 다운받은 거에요.
  • 우리가 웹에서 보는 이미지들은 전부 파일 서버에서 이미지를 다운받은 결과물이에요.
  • 우리가 웹에서 로그인을 할 때는 로그인을 돕는 인증 서버와 통신을 한 거에요.
  • 우리가 앱에서 상품 정보들을 불러올 때는 상품 정보를 제공하는 API 서버와 통신을 한 거에요

일반적으로 서버라고 부르는 것은 서버 전용 프로그램이 실행되고 있는 컴퓨터 이라고 생각하시면 됩니다.

 

그럼 연결해서 HTTP 통신에 대해서 알아보겠습니다.

HTTP 통신이란?

컴퓨터끼리 네트워크 통신을 할 때 여러가지 방식으로 통신이 가능합니다. 이런 통신 방식들을 묶어서 통신 프로토콜이라고 이야기합니다.

 

메일을 주고 받을 때 사용하는 SMTP 프로토콜, 파일을 전송할 때 사용하는 FTP 프로토콜 등이 있어요.

우리가 사용할 HTTP 프로토콜은 원래 브라우저가 웹 서버와 통신을 하기 위해 생긴 프로토콜이에요.

 

지금은 대부분의 네트워크 통신에서 사용되는 대중적인 프토로콜입니다.

이때 HTTP 프로토콜을 활용한 통신이 바로 HTTP 통신이 되겠습니다

 

HTTP 통신은 기본적으로 요청(request)응답(response)으로 나눠서 이해할 수 있습니다.

 

요청과 응답 모두 공통적으로 아래와 같은 구조를 가집니다.

  • 요청 라인에 URL, Method 같은 핵심 요청 정보가 들어갑니다. 요청과 응답에 따라 구성 요소가 다릅니다.
  • Header에 HTTP 관련 여러 설정 값이 들어갑니다.
  • Body에는 통신에 필요한 데이터가 들어갑니다(옵션)

HTTP 요청

HTTP 통신으로 서버에게 정보를 요청하기 위해선 몇가지 규칙을 지켜야 합니다.

  1. 어떤 서버에게 요청할 것인지 URL이 있어야 한다. (요청 라인)
  2. 어떤 방식으로 통신을 할 것인지 Method 가 있어야 한다 (요청 라인)

서버에서는 HTTP 요청을 받으면 열심히 일을 해서 응답을 해줍니다. 이때 HTTP 응답의 규칙으로

  1. 응답이 어떤 상태인지를 나타내는 Status Code 가 있어야 합니다 (요청 라인)
  2. 요청 결과를 Body에 담아야 합니다.

이때 Status Code 는 200~ 500 번까지 있으며 서버의 응답에 대한 상태를 표현합니다.

 

요청 코드는 크게 나눠보면 아래와 같습니다.

200 번대는 정상적으로 응답을 했을 때,

400 번대는 클라이언트가 요청을 잘못했을 때,

500 번대는 서버에서 에러가 발생했을 때


이 중에 대표적인 응답 코드 몇개를 보면,

200 : 정상적으로 응답이 됐다.

404 : 해당 URL 요청을 처리할 수 없다.

500 : 서버에서 알 수 없는 에러가 발생했다.

 

이상으로 클라이언트와 서버 그리고HTTP에 대해 간략히 알아봤습니다!

 

다음에는 더욱 간편하고 알찬 정보를 가져올게요! 베빠~!

댓글