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 |