CS

HTTP, HTTPS

baek-dev 2025. 1. 15. 19:14

HyperText Transfer Protocol, HyperText Transfer Protocol Secure

웹에서 클라이언트(웹 브라우저)와 서버 간에 데이터를 전송하기 위한 프로토콜

HTTP : 데이터를 암호화 하지 않고 전송한다

HTTPS : 데이터를 암호화 하여 전송하며, HTTP보다 더 안전하다


HTTP

특징

1. 비암호화

  • HTTP로 전송된 데이터는 암호화되지 않으므로, 중간에 데이터가 탈취되면 내용을 그대로 확인할 수 있다

2. 속도

  • 암호화를 하지 않기 때문에 HTTPS보다 속도가 빠르지만, 보안이 취약하다

3. 구조

  • 클라이언트가 요청(Request)를 보내고, 서버가 응답(Response)을 반환하는 요청-응답 구조로 동작한다

4. 포트 번호

  • 기본 포트 : 80

5. 사용 예

  • 간단한 웹 페이지, 보안이 필요없는 서비스에서 사용

HTTPS

특징

1. 보안 강화

  • SSL/TLS (Secure Sockets Layer / Transport Layer Security) 암호화를 통해 데이터를 보호한다
  • 암호화된 데이터는 중간에서 탈취되더라도 해독이 어렵다

2. 데이터 무결성

  • 데이터가 전송 중에 변조되지 않았음을 보장한다

3. 인증

  • SSL 인증서를 통해 서버의 신원을 확인할 수 있어 피싱이나 스푸핑 공격을 방지한다

4. 포트 번호

  • 기본 포트 : 443

5. 사용 예

  • 로그인, 결제와 같은 민감한 정보가 오가는 서비스에서 필수적

차이점

특징 HTTP HTTPS
보안 데이터 암호화 없음 데이터 암호화 및 인증 지원
속도 더 빠름 암호화로 인해 약간 느림
포트 번호 80 443
SSL/TLS 사용 사용하지 않음 사용
사용 예 보안이 필요없는 웹 서비스 로그인, 결제 등 민감한 서비스

HTTPS 작동 원리

HTTPS 는 SSL/TLS 프로토콜을 통해 데이터를 암호화 한다

HTTPS 통신 과정 :

1. SSL/TLS 핸드세이크

  • 클라이언트와 서버가 암호화 방식과 인증서를 교환하여 보안 연결을 설정한다

2. 인증서 확인

  • 클라이언트는 서버의 SSL 인증서를 확인해 신뢰성을 검증한다

3. 데이터 암호화

  • 암호화 키를 사용해 클라이언트와 서버 간 데이터를 암호화 및 전송

SSL/TLS 란

  • SSL : HTTPS에 사용되는 보안 프로토콜의 초기 버전. 현재는 잘 사용되지 않음
  • TLS : SSL의 업그레이드된 버전. HTTPS에서 주로 사용됨

역할

1. 암호화

  • 데이터를 암호화해 전송 중 탈취를 방지

2. 인증

  • 서버 신원을 확인하여 피싱 공격 방지

3. 데이터 무결성

  • 데이터가 전송 중에 변조되지 않았음을 보장

HTTP, HTTPS 선택 기준

1. 보안이 중요하지 않은 경우

  • HTTP 사용 가능 (예 : 단순한 정보 제공 페이지)

2. 보안이 중요한 경우

  • HTTPS 필수 (예 : 사용자 로그인, 결제 처리)

3. 검색 엔진 최적화(SEO)

  • 구글과 같은 검색 엔진은 HTTPS를 사용하는 웹사이트에 더 높은 점수를 부여한다

요약

1. HTTP :

  • 보안이 없으며, 데이터를 암호화하지 않고 전송
  • 기본 포트: 80

2. HTTPS :

  • SSL/TLS를 사용해 데이터를 암호화하여 보안을 강화
  • 기본 포트: 443
  • 로그인, 결제와 같은 민감한 정보가 필요한 서비스에 필수

 

 

 

 

출처 : ChatGPT

'CS' 카테고리의 다른 글

상태성(Stateful)과 무상태성(Stateless)  (0) 2025.01.25
CSRF  (0) 2025.01.19
JWT (JSON Web Token)  (1) 2025.01.14
API Key  (0) 2025.01.13
Bearer Token  (0) 2025.01.12