HTTP와 HTTPS는 웹에서 데이터를 주고받는 프로토콜입니다. HTTP는 데이터를 암호화하지 않고 전송해 보안에 취약하지만, HTTPS는 SSL/TLS 암호화를 적용해 데이터를 안전하게 전송할 수 있습니다. HTTP는 80번 포트를, HTTPS는 443번 포트를 사용하며, HTTPS는 보안 인증서를 통해 서버의 신원을 검증하기 때문에 로그인, 결제 같은 민감한 정보가 필요한 웹 사이트에서 필수적으로 사용됩니다.
HTTP는 하이퍼텍스트 전송 프로토콜의 약자로, 네트워크를 통해 데이터를 전송하는 데 사용되는 프로토콜 또는 정보를 표현하기 위한 규정된 순서와 구문입니다. 웹 사이트 콘텐츠 및 API 호출을 포함하여 인터넷을 통해 전송되는 대부분의 정보는 HTTP 프로토콜을 사용합니다. HTTP 메시지는 요청과 응답이라는 두 가지 주요 유형이 있으며, HTTPS 대신 HTTP를 사용할 경우 세션을 모니터링하는 모든 사람이 모든 요청과 응답을 읽을 수 있습니다. 악의적인 공격자는 요청 또는 응답에 포함된 텍스트를 읽고, 누군가가 어떤 정보를 요청하고 보내며 받는지 알 수 있습니다.
HTTP 상태 코드는 HTTP 요청이 성공적으로 완료되었는지 여부를 나타내는 3자리 코드입니다. 상태 코드는 다음 5개 블록으로 나뉩니다.
1. 1XX - 정보 제공
2. 2XX - 성공
3. 3XX - 리디렉션
4. 4XX - 클라이언트 오류
5. 5XX - 서버 오류
HTTPS의 S는 "보안"을 의미합니다. HTTPS는 TLS/SSL을 사용하여 HTTP 요청과 응답을 암호화하며, 공격자는 텍스트 대신 무작위로 보이는 문자를 보게 됩니다.
완전히 읽을 수 있는 텍스트 문자열입니다
ITM0IRyiEhVpa6VnKyExMiEgNveroyWBPlgGyfkflYjDaaFf/Kn3bo3OfghBPDWo6AfSHlNtL8N7ITEwIXc1gU5X73xMsJormzzXlwOyrCs+9XCPk63Y+z0=
SSL/TLS는 Secure Sockets Layer와 Transport Layer Security(전송 계층 보안)를 의미하는 용어로, 인터넷에서 안전하게 통신할 수 있도록 하는 프로토콜입니다. SSL/TLS 인증서는 SSL/TLS 프로토콜을 사용하여 웹 브라우저가 웹 사이트에 대해 암호화된 네트워크 연결을 확인하고 설정할 수 있게 해줍니다.
개인 데이터 보호
고객 신뢰 강화
SSL/TLS로 보호되는 웹 사이트에는 안전하다는 녹색 자물쇠 아이콘이 표시됩니다. 이를 통해 고객은 데이터가 보호되고 있음을 알 수 있습니다.
PCI DSS 준수
SEO 개선
SSL/TLS를 사용하면 검색 엔진 최적화에서 더 높은 순위를 차지할 수 있습니다.
HTTP와 HTTPS 간의 통신 호환 문제는 보안과 데이터 전송 방식의 차이로 자주 발생합니다.
보안 요구사항
HTTPS가 아닌 HTTP로 백엔드에 접근하면 브라우저가 요청을 차단하거나 오류를 발생시킬 수 있습니다. 최신 브라우저에서는 보안 강화를 위해 HTTPS가 필수입니다.
혼합 콘텐츠 오류
HTTPS 페이지에서 HTTP API를 호출하면 브라우저가 보안 위협을 감지하여 오류를 발생시킬 가능성이 큽니다.
CORS 정책 강화
HTTPS에서는 교차 출처 리소스 공유(CORS) 정책이 강화됩니다. 이를 해결하려면 서버에서 올바른 CORS 헤더를 설정해야 합니다.
항목 | HTTP | HTTPS |
---|---|---|
의미 | Hypertext Transfer Protocol | Hypertext Transfer Protocol Secure |
프로토콜 | HTTP/1, HTTP/2 (TCP/IP 사용), HTTP/3 (QUIC 사용) | HTTP 요청과 응답을 SSL/TLS로 암호화 |
포트 | 기본 포트 80 | 기본 포트 443 |
용도 | 텍스트 기반 웹 사이트 | 최신 웹 사이트 전반 |
보안 | 보안 기능 없음 | SSL 인증서로 보안 강화 |
이점 | 인터넷 통신 지원 | 웹 사이트의 권위, 신뢰성, SEO 순위 개선 |