본문 바로가기
Programming/NETWORK

HTTP, HTTPS란 (1)

by 해도 Haedo 2022. 11. 2.

안녕하세요. 뉴핀입니다.

많은 분들께서 브라우저의 주소창을 보고 어떤 페이지는 'http://'로 시작하고 어떤 페이지는 'https://'로 시작하는 것을 보고 차이에 대해 궁금하셨을 텐데요. 이번 포스팅에서 HTTP와 HTTPS의 차이점이 뭔지에 대해서 알아보려고 합니다.

이번 포스팅에서는 http가 무엇인지 알아보고 다음 포스팅에서 https가 무엇인지 알아봅시다.

 


 

1. HTTP란

우선 http는 HyperText Transfer Protocol의 약자입니다.

서버 / 클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜[각주:1]입니다.(80번 포트를 사용)네트워크 계층중 애플리케이션 계층에 속한 프로토콜입니다.

www[각주:2]에 내재된 프로토콜입니다.
 
 

 

2. HTTP의 구조

기본적인 http의 구조는 아래와 같습니다.

start-line (시작 라인)
header (헤더)
emty-line (공백라인)
message body
  • start-line
    • Response통신과 Request통신에 따라 생김새가 조금 다릅니다.
  • header
    • http통신의 부가 정보에 대한 내용을 가지고 있습니다(메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트(브라우저) 정보 등등).
  • message-body
    • 실제 전송 할 데이터(html문서, 파일, json 등등)를 담고 있습니다.

 

-실제 HTTP의 Response와 Request의 모습-

Request

Response

GET /search?q=hello&hi=ko HTTP/1.1
Host: ww.nufyn.com
 

 

HTTP/1.1 200 OK
Content-type:text/html;charset=UTF-8
Content-Length: 3000
 
<html>
   <body>
       <div></div>
   </body>
</html>
  • Request

- start-line에서는 http의 메서드[각주:3],요청 대상, http의 버전의 내용을 포함하고 있습니다.

 

  • Response

 - start-line에 http 버전과 status-code[각주:4]를 포함하고 있습니다.

 


 

3. http의 특징

  • 클라이언트-서버 구조입니다.

  • 비 연결성 특징을 가지고 있습니다.
    • 클라이언트와 서버가 한번 연결을 맺은 후, 통신이 끝나면 연결을 끊는 성질을 뜻합니다.
    • 장점 : 연결을 유지하기 위한 리소스를 줄여줍니다.
    • 단점 : 동일한 클라이언트의 요청에 매번 연결/해제 과정을 거쳐 각각의 오버 헤드가 발생할 수 있습니다.
  • 무상태(statelesee)입니다.
    • 서버는 클라이언트가 누구인지 인식할 수 없습니다.(해결책 : 쿠키, 세션, 토큰)

 


 

4. 마치며

이번 포스팅에서는 http가 무엇이고 http의 구조와 특징에 대해서 알아보았습니다. 다음 포스팅에서는 https에 대하여 알아보겠습니다. 간단히 설명하자면 https는 http통신의 취약한 보안이란 문제점을 해결한 통신 방법입니다.

http통신에 대해 알게 되면 브라우저를 사용하실 때 '아! 이렇게 되고 있겠구나.' 머릿속에서 그림이 그려지실 거예요. 

감사합니다:)

 



-각주

  1. 프로토콜 : 복수의 컴퓨터 사이나 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약. 신호 송신의 순서, 데이터의 표현법, 오류(誤謬) 검출법 등을 정함. 통신 규약(通信規約). - 구글 사전
    [본문으로]
  2. www : 웹 페이지를 네트워크 상에서 이용하기 위한 구조물

    •4개로 구성
         - 하이퍼텍스트 문서를 표현하기 위한 텍스트 형식 언어 HTML
         - 인터넷상에서 문서 등을 교환하기 위한 프로토콜 HTTP 
         - 문서를 디스플레이하기 위한 웹브라우저
         - HTTPD(HyperText Transfer Protocol Daemon) – HTTP를 지원하는 서버

     

  3. http-method :

    GET / POST / PUT / DELETE 4가지가 있다.

    [본문으로]

  4. status-code : 

    100번대 (정보): 요청을 받았으며 프로세스를 계속 진행합니다
    200
    번대 (성공): 요청을 성공적으로 받았으며 인식했고 수용하였습니다.
    300
    번대 (리다이렉션): 요청 완료를 위해 추가 작업 조치가 필요합니다.
    400
    번대 (클라이언트 오류): 요청의 문법이 잘못되었거나 요청을 처리할  없습니다.
    500
    번대 (서버 오류): 서버가 명백히 유효한 요청에 대해 충족을 실패했습니다.

    [본문으로]

'Programming > NETWORK' 카테고리의 다른 글

HTTP, HTTPS란 (2)  (0) 2022.11.16

댓글