HTTP와 HTTPS

김수빈·2025년 4월 28일

HTTP(HyperText Transfer Protocol)란?

HTTP란 웹사이트에서 브라우저(크롬, 엣지 등 클라이언트)와 서버(네이버, 구글 같은 웹사이트의 컴퓨터)가 서로 데이터를 주고받는 방법과 규칙이다. HTTP로는 문서, 사진 등 많은 걸 넣어서 전송할 수 있지만 요즘엔 서버 간의 통신도 HTTP로 할 수 있다.
HTTP를 쉽게 설명하면, 서로 통신할 때 사용하는 약속된 규칙

HTTP 특징

  • 비연결성 : 요청과 응답을 끝나면 연결을 끊고, 다음 요청 시 새로 연결
  • 무상태성 : 서버는 클라이언트의 정보를 기억하지 않음. 매번 새롭게 요청을 받아드림
  • 텍스트 기반 : 통신할 때 사람이 읽을 수 있는 형태로 주고받음
    (ex. GET /index.himl HTTP/1.1)

HTTP에서 사용하는 메서드(Method)

  • GET : 데이터 요청(ex. 웹 페이지를 불러올 때)
  • POST : 데이터 전송(ex. 로그인, 회원가입)
  • PUT : 데이터 수정(ex. 게시글 수정)
  • DELETE : 데이터 삭제(ex. 게시글 삭제)

HTTP 통신 과정

1. 클라이언트 요청(Request)
클라이언트가 서버에게 데이터를 요청할 때, HTTP 요청 메세지를 생성하여 서버로 전송한다.

요청하는 쪽이 서버에게 보내는 메시지

GET /index.html HTTP/1.1
Host: example.com

2. 서버의 응답(Response)
서버는 클라이언트의 요청을 처리하고 HTTP 응답 메세지를 생성하여 클라이언트로 전송한다.

서버가 클라이언트에게 보내는 메시지

HTTP/1.1 200 OK
Content-Type: text/html

<여기에 HTML 내용>

3. 연결 종료
HTTP는 비연결성(Connectionless) 특성을 가져서 요청과 응답이 끝나면 연결이 종료된다.

HTTP의 문제점

보안이 없다!

  • HTTP는 데이터를 암호화하지 않아서,중간에서 누군가가 데이터를 쉽게 읽을 수 있다.
    (이런 걸 스니핑(sniffing)이라고 하며, 해커들이 자주 쓴다.)

HTTPS란?

HTTP에 보안(암호화) 기능을 추가한 버전이 HTTPS이다.

HTTPS가 중요한 이유

1. 데이터 암호화

  • HTTPS는 SSL/TLS라는 암호화 기술을 사용하여 데이터를 암호화해서
    전송한다.

    SSL/TLS란, 서버와 클라이언트 사이의 통신 내용을 암호화하는 기술
    - SSL(Secure Sockets Layer) : 예전에 썼던 암호화 기술(구식)
    - TLS(Transport Layer Security) : SSL을 개선한 최신 암호화 기술(더 안전하고 효율적인 암호화 기술)

2. 서버 인증

  • HTTPS는 서버가 진짜인지 확인하는 절차가 있다.
  • 서버가 자신이 맞다는 걸 증명할 수 있는 디지털 인증서(CA 인증서)를 사용해서 가짜 서버와 연결되는 걸 막아준다.

3. 데이터 무결성

  • 데이터 무결성이란, 전송된 데이터가 중간에 변조되지 않았다는 것을 보장하는 것이다.
  • 암호화 과정에서 데이터가 변조되면 바로 알 수 있기 때문에, 안전한 통신이 가능하다.

HTTPS가 필요한 이유

  • 민감한 정보 보호 : 로그인, 결제, 개인 정보 등 민감한 데이터를 주고받을 때 보안을 강화한다.
  • 해킹 방지 : HTTPS는 중간자 공격을 막는다. 해커가 데이터를 훔쳐볼 수 없도록 한다.
  • SEO(검색엔진 최적화) : 구글 등 검색엔진은 HTTPS를 사용하는 사이트를 더 높게 평가하여 검색 결과에서 우선시한다.

HTTP와 HTTPS 차이점

항목HTTPHTTPS
보안암호화 없음암호화 적용(SSL/TLS 사용)
주소 시작http://https://
인증서필요 없음서버의 인증서 필요(CA에서 발급받은 인증서 사용)
통신 속도빠름조금 느림(암호화 작업이 있음)
사용 포트80번 포트443번 포트
신뢰성중간자 공격 가능중간자 공격 방지

여기서 포트란?

  • 컴퓨터가 통신할 때 사용하는 통신 통로
  • 각각의 서비스는 고유한 포트 번호를 씀
    HTTP - 80번
    HTTPS - 443번
    포트 번호는 컴퓨터가 서로 통신할 때 어떤 서비스를 이용할지 구분하기 위한 번호이다. 약속된 번호이기 때문에 웹에서는 80, 보안 웹은 443으로 정해졌다.

결론!

HTTPS는 HTTP에 보안을 더한 버전으로,
웹사이트와 사용자가 안전하게 데이터를 주고받을 수 있도록 도와준다.
암호화된 통신과 인증서를 통해 보안과 신뢰성을 제공하며,
중간에서 데이터를 탈취하려는 해킹 시도를 방지한다.

마무리

지금까지 HTTP와 HTTPS의 개념, 차이점, 그리고 HTTPS가 왜 중요한지에 대해 알아보았습니다.
긴 글 읽어주신 분들 감사드리고 앞으로도 열심히 배우며 성장하도록 하겠습니다!

0개의 댓글