HTTP(Hypertext Transfer Protocol)는 클라이언트와 서버 간 통신 규칙 즉, 프로토콜이다.
사용자가 웹 사이트를 방문하면 브라우저가 웹 서버에 HTTP 요청을 전송하고 웹 서버는 HTTP 응답으로 요청에 대해 응답한다. 간단히 말해 HTTP 프로토콜은 네트워크 통신을 작동하게 하는 기술이다.
HTTPS(Hypertext Transfer Protocol Secure)는 이름에서도 알 수 있듯이 HTTP의 확장 버전 또는 안전한 버전이다. HTTPS에서는 브라우저와 서버가 데이터를 전송하기 전에 안전하고 암호화된 연결을 설정한다.
HTTP: 데이터를 일반 텍스트로 전송, 중간에서 데이터를 가로챌 수 있음
HTTPS: 데이터를 암호화하여 전송, 중간에서 데이터를 가로채더라도 해독이 어려움
HTTP: 기본적으로 포트 80 사용
HTTPS: 기본적으로 포트 443 사용
HTTP: 인증서 필요 없음
HTTPS: 독립된 인증 기관(CA)에서 발급받은 SSL/TLS 인증서 필요
HTTP: URL 옆에 특별한 보안 표시 없음
HTTPS: URL 옆에 자물쇠 아이콘 표시, 사용자는 보안 연결임을 알 수 있음
HTTP: 검색 엔진 순위에서 낮게 평가, 사용자 신뢰도 낮음
HTTPS: 검색 엔진 순위에서 높게 평가, 사용자 신뢰도 높음
클라이언트 요청: 사용자가 웹 사이트를 방문하면 브라우저가 웹 서버에 HTTP 요청을 전송
서버 응답: 웹 서버는 요청에 대한 HTTP 응답을 전송
데이터 교환: 데이터는 일반 텍스트로 전송됨
요청 유형(Request Methods)
응답 코드(Status Code)
10x : 정보 확인
20x : 통신 성공
30x : 리다이렉트
40x : 클라이언트 오류
50x : 서버 오류
클라이언트 요청: 사용자가 https:// URL을 입력하여 웹 사이트를 방문
SSL 인증서 요청: 브라우저가 서버의 SSL 인증서를 요청
서버 응답: 서버가 퍼블릭 키가 포함된 SSL 인증서를 전송
인증서 검증: 브라우저가 인증서를 검증하고, 퍼블릭 키를 사용하여 비밀 세션 키가 포함된 메시지를 암호화하여 전송
세션 키 교환: 서버가 개인 키로 메시지를 해독하고 세션 키를 생성, 세션 키를 암호화하여 브라우저에 전송
보안 통신: 브라우저와 서버가 동일한 세션 키를 사용하여 암호화된 데이터 교환
HTTP/1.1: 최초의 HTTP 버전, 텍스트 형식으로 데이터 전송
HTTP/2: 바이너리 형식으로 데이터 전송, 서버 푸시 기능 추가
HTTP/3: 실시간 스트리밍 및 최신 데이터 전송 요구 사항을 더 효율적으로 지원
보안 강화: 모든 데이터가 암호화되어 전송, 민감한 정보 보호
신뢰성 증대: 검색 엔진 순위에서 우선, 사용자 신뢰도 높음
성능 향상: HTTPS 웹 애플리케이션이 더 빠르게 로드
정확한 분석: 추천 트래픽을 정확하게 추적 가능