amplitude.init("2e2e5a386856efdf3237cf254a9d14d9"

[개념 콕] HTTP와 HTTPS

내일배움캠프 수료생이 개발에 꼭 필요한 핵심 개념만 콕 집어 드립니다.
May 29, 2024
[개념 콕] HTTP와 HTTPS
✍🏼
개발을 시작하시는 여러분, 정보가 너무 많고 배워야 할 것도 산더미라 어디서부터 시작해야 할지 막막하신가요? 내일배움캠프 수료생들이 4개월 동안 배운 엄선된 핵심 개념을 직접 정리해서 알려 드립니다. 공부하다 막히거나 헷갈리는 개념이 있다면 개념 콕으로 정리해보세요.
 

HTTP(HyperText Transfer Protocol)

HTTP란?

HTTP(HyperText Transfer Protocol)는 웹상에서 웹 서버와 웹 브라우저 간의 데이터 전송을 위한 통신 규약입니다. 이는 인터넷에서 하이퍼텍스트를 주고받기 위해 사용되며, 일반적으로 80번 포트를 사용합니다. 서버는 80번 포트에서 요청을 기다리고, 클라이언트는 동일한 포트로 요청을 보내게 됩니다.
 

HTTP 특징

HTTP 구조
HTTP 구조
  • HTTP는 응용 계층의 프로토콜로, TCP/IP 위에서 작동합니다.
  • 상태 정보를 가지고 있지 않는 Stateless 프로토콜이며, Method, Path, Version, Headers, Body 등으로 구성되어 있습니다. 이를 통해 웹 서버와 클라이언트 간에 효율적인 데이터 전송이 가능해집니다.
  • HTTP는 평문 데이터를 전송하므로, 비밀번호나 주민등록번호 등 중요한 정보 전송 시 보안 문제가 발생할 수 있습니다. 이러한 한계를 극복하기 위해 HTTPS(HyperText Transfer Protocol Secure)가 등장했습니다. HTTPS는 SSL/TLS 프로토콜을 사용하여 데이터 전송을 암호화함으로써 보안성을 확보합니다.
 
 

HTTPS (HyperText Transfer Protocol Secure)

HTTPS란?

HTTPS(HyperText Transfer Protocol Secure)는 HTTP에 데이터 암호화가 추가된 프로토콜입니다. 이는 HyperText Transfer Protocol over Secure Socket Layer, HTTP over TLS, HTTP over SSL, HTTP Secure 등의 약자로 불립니다. HTTP와 달리 443번 포트를 사용하며, 네트워크 상에서 제3자가 정보를 볼 수 없도록 암호화를 지원합니다.
 

HTTPS 암호화 방식

HTTPS는 암호화를 진행할 때 대칭키 암호화 방식과 비대칭키 암호화 방식을 모두 사용합니다.
대칭키 암호화
  • 클라이언트와 서버가 동일한 키를 사용해 암호화/복호화를 진행합니다.
  • 키가 노출되면 매우 위험하지만 연산 속도가 빠릅니다.
비대칭키 암호화
  • 1개의 쌍으로 구성된 공개키와 개인키를 암호화/복호화하는 데 사용합니다.
  • 키가 노출되어도 비교적 안전하지만 연산 속도가 느립니다.
 

HTTPS의 동작 과정

HTTPS는 대칭키 암호화와 비대칭키 암호화를 모두 사용하여 빠른 연산 속도와 안전성을 모두 확보합니다. HTTPS 연결 과정(핸드셰이크)에서는 먼저 서버와 클라이언트 간에 세션키를 교환하는데, 여기서 세션키는 주고받는 데이터를 암호화하기 위해 사용되는 대칭키입니다. 데이터 교환 시 빠른 연산 속도가 필요하므로 세션키는 대칭키로 구성됩니다.
문제는 이 세션키를 안전하게 공유하는 방법인데, 이 과정에서 비대칭키가 사용됩니다. 즉, 초기 연결 시 비대칭키로 세션키를 안전하게 공유하고, 이후 데이터 교환에서는 대칭키를 사용하는 것입니다.
 

HTTP와 HTTPS의 차이

  • 데이터 전송 방식
HTTP와 HTTPS는 데이터 전송 방식에 있어 큰 차이가 있습니다. HTTP는 평문 그대로 데이터를 전송하기 때문에 제3자가 통신 내용을 가로채면 정보가 노출될 수 있어 보안에 취약합니다. 반면 HTTPS는 SSL/TLS 프로토콜을 통해 데이터 전송을 암호화하므로, 가로채기가 발생하더라도 내용을 알아내기 힘들어 보안성이 높습니다.
  • 비용
하지만 HTTPS를 사용하기 위해서는 인증서를 발급받고 지속적으로 관리해야 하는 추가 비용이 들어갑니다. 인증서 비용과 관리 부담 때문에 보안성이 중요하지 않은 정보 전송에는 HTTP를 사용하고, 개인정보나 결제 등 민감한 데이터 송수신 시에는 HTTPS를 활용하는 것이 일반적입니다.
 
 

내일배움캠프는 개발에 필요한 핵심만 배웁니다

지금까지 꼭 필요한 개발 지식에 대해 알아보았습니다. 내일배움캠프에서는 전문가들이 선별한 핵심 개발 지식으로 개발 공부도, 취업도 보다 효율적으로 할 수 있는데요. 국내 유수의 IT기업 출신 튜터님들과 실습 위주의 독보적인 커리큘럼으로 개발자 취업을 체계적으로 준비해보세요. 내일배움캠프 4개월, 여러분 인생의 가장 큰 터닝 포인트입니다.
 
 
 
CREDIT
글 | 황규정 내일배움캠프 수료생 편집 | 정효재 팀스파르타 에디터
 
 

취업 준비, 어디서부터 시작해야 할지 모르겠다면?

 
🧐비전공자인데 IT 업계 취업할 수 있을까?
😟프로젝트 경험이 부족한데, 어떻게 준비해야 할까?
🥺IT 기업으로 이직하고 싶은데 뭐부터 시작해야 할까?
 
이런 고민을 하고 있다면, 내일배움캠프의 IT 취업 컨설팅을 받아보세요.
취업 코칭 전문가들이 여러분의 고민을 해결해 드립니다.
 
다음 링크에 이메일을 입력하시면 메일로 1:1 커리어 상담권과 취준 자료집을 보내드릴게요.
 
Share article
Subscribe to our newsletter
RSSPowered by inblog