HTTP & HTTPS

박선우·2025년 1월 30일
0

HTTP란? – 웹의 기본 통신 규칙

HTTP (HyperText Transfer Protocol)는 웹 브라우저와 서버가 데이터를 주고받기 위해 사용하는 기본 통신 프로토콜이다.
쉽게 말해, HTTP는 웹에서 "대화"를 할 수 있게 해주는 언어라고 할 수 있다.

HTTP의 주요 특징

  • 비연결성 (Connectionless):
    매 요청마다 연결을 새로 형성하고, 응답 후에는 연결을 끊어진다.
    (즉, 매번 "안녕"하고 인사하는 느낌)
  • 무상태성 (Stateless):
    이전의 요청 정보를 기억하지 않기 때문에, 서버는 각 요청을 독립적으로 처리한다.
  • 간단한 구조:
    요청(Request)과 응답(Response) 메시지로 구성되어 있어, 프로토콜이 간결하고 이해하기 쉽다.

HTTP 요청의 구조

요청 메서드:

  • GET: 데이터를 조회할 때 사용
  • POST: 데이터를 생성하거나 제출할 때 사용
  • PUT: 데이터를 업데이트할 때 사용
  • DELETE: 데이터를 삭제할 때 사용

요청 헤더와 바디:

헤더에는 브라우저 정보, 인증 토큰 등이 포함되고, 바디에는 전송할 데이터가 담겨요.

시험 팁: "HTTP는 비연결, 무상태 프로토콜이다"라는 핵심 특징과 GET, POST 등의 메서드를 꼭 암기

HTTPS란? – 보안의 기사, 안전한 통신의 열쇠

HTTPS (HTTP Secure)는 기본 HTTP에 SSL/TLS 암호화를 추가해 보안을 강화한 프로토콜이다.
즉, HTTPS는 웹 통신 시 데이터가 제3자에게 노출되지 않도록 보호하는 역할을 한다!

HTTPS의 주요 특징

  • 데이터 암호화:
    전송되는 모든 데이터가 암호화되어 해커가 중간에서 훔쳐봐도 내용을 알 수 없다.
  • 서버 인증:
    SSL/TLS 인증서를 통해 사용자는 접속하는 서버가 진짜임을 확인할 수 있다.
  • 무결성 보장:
    데이터가 전송 중 변경되지 않았음을 보장하여, 신뢰할 수 있는 통신을 제공한다.

HTTPS 작동 방식 – SSL/TLS 핸드셰이크

  • 클라이언트 요청:
    사용자가 https:// URL을 입력하면, 브라우저는 서버에 보안 연결 요청을 보낸다.
  • 서버 인증:
    서버는 SSL/TLS 인증서를 보내어 자신을 인증하고, 공개키를 제공한다.
  • 암호화 키 생성:
    클라이언트는 서버의 공개키를 이용해 임시 세션 키를 생성하고, 이 키로 데이터를 암호화해 전송한다.
  • 안전한 데이터 통신:
    이후의 데이터는 생성된 세션 키로 암호화되어 안전하게 전송된다.

시험 팁:

"HTTPS는 SSL/TLS 핸드셰이크 과정을 거쳐, 데이터 암호화와 서버 인증을 통해 보안을 강화한다"라고 외우기

HTTP vs HTTPS – 한눈에 보는 비교!

비유:
HTTP는 "일반 우편"과 같아서 내용이 그대로 전달되지만, HTTPS는 "비밀 봉투"와 같아 내용이 암호화되어 전달된다.

실무 & 면접 활용 팁!

실무 적용

  • 웹사이트 개발:
    HTTP와 HTTPS의 차이를 이해하고, 보안이 필요한 서비스(로그인, 결제 등)는 반드시 HTTPS를 적용해야 한다.
  • API 개발:
    API 요청 시 민감한 정보가 오갈 경우 HTTPS를 통해 데이터를 보호해야 한다.
  • 서버 관리:
    SSL/TLS 인증서 갱신, 설정 오류 등을 주기적으로 점검하여 안전한 웹 통신 환경을 유지한다.

면접 & 시험 대비 질문

참고사이트
https://velog.io/@donghyuk65/HTTP-HTTPS-%EC%9B%B9-%ED%86%B5%EC%8B%A0%EC%9D%98-%EC%99%95%EA%B3%BC-%EB%B3%B4%EC%95%88-%EA%B8%B0%EC%82%AC

profile
개발 관련 궁금한 점이나 새로 알게된 내용을 적는 곳

0개의 댓글