웹사이트를 사용할 때 주소창에서 "http://" 또는 "https://"로 시작하는 것을 본 적이 있을 것이다. 아니 요즘은 거의 모든 웹사이트 주소가 https://로 시작한다. HTTPS는 우리가 인터넷을 더 안전하게 사용할 수 있도록 해주는 기술입니다.
HTTPS가 무엇인지, 왜 중요한지 알아보자.
HTTP를 이해했으면, HTTPS는 비교적 쉽다.
HTTP에 대한 이해를 위해서는 아래 포스팅을 참고해 보자.
1. HTTPS란?
HTTPS는 Hypertext Transfer Protocol Secure의 약자로, 인터넷 통신 프로토콜인 HTTP에 SSL/TLS 암호화를 추가한 버전이다. HTTP에 Secure가 더 붙었다. 이 말은 HTTPS는 HTTP에서 확장된 프로토콜이라는 것이다. 무엇이 확장되었는가.. 하면 Secure, 다시 말해 '안전함'이 추가되었다.
일반 HTTP는 데이터를 암호화하지 않고 주고받기 때문에 보안에 취약할 수 있다. 반면 HTTPS는 다음과 같은 보안 요소를 제공한다.
- 데이터 암호화: 전송 중인 데이터를 제3자가 볼 수 없도록 암호화한다.
- 데이터 무결성: 전송된 데이터가 도중에 변조되지 않았음을 보장한다.
- 인증: 통신 중인 웹사이트가 신뢰할 수 있는 사이트임을 확인할 수 있다.
HTTPS는 브라우저와 서버 사이에 주고받는 데이터를 암호화하는 것이다.
그래서 중간에 누군가 정보를 가로채더라도 암호화되어 있기 때문에 알 수 없도록 한 것이라고 이해하면 된다.
요즘 홈페이지를 접속하면 브라우저 주소 표시줄에 자물쇠 모양으로 안전함을 알 수 있게 하고 있다.
자물쇠(열쇠) 모양을 클릭해 보면 위 화면 같이 추가 정보를 확인할 수도 있다.
크롬 브라우저는 언젠가부터 자물쇠 모양에서 다른 모양으로 변경되어 표시하고 있고 다음과 같이 설명하고 있다.
또한, 요즘은 http://wishlan.tistory.com으로 접속해도 결과적으로 https://wishlan.tistory.com으로 연결되는 것을 알 수 있을 것이다. 이는 https가 의무화되었기 때문이다.
2. HTTPS의 작동 원리
HTTPS는 SSL/TLS 프로토콜을 사용하여 데이터를 보호하며, HTTPS 통신 과정은 다음과 같다.
HTTP 통신 과정인 요청과 응답 사이에 암호화 과정이 추가 된다고 보면 된다.
- 클라이언트 요청: 사용자가 브라우저에서 HTTPS 주소에 접속하면 서버에 요청을 보낸다.
- SSL/TLS 핸드셰이크: 브라우저와 서버가 암호화에 사용할 키를 교환한다.
- 데이터 암호화: 암호화된 채널을 통해 데이터를 주고받는다.
이 과정에서 사용되는 인증서가 바로 SSL 인증서이다. 브라우저는 이 인증서를 확인하여 웹사이트의 신뢰성을 검증한다.
3. HTTPS를 사용하는 이유
HTTPS는 인터넷 사용의 필수 요소가 되고 있고, 이미 필수 요소다. 그 이유는 다음과 같다.
- 보안성 강화: 사용자의 개인정보(예: 로그인 정보, 신용카드 정보)를 보호한다.
- 신뢰성 향상: HTTPS를 사용하는 사이트는 주소창에 자물쇠 아이콘이 표시되어 사용자의 신뢰를 얻을 수 있다.
- SEO(검색엔진 최적화) 혜택: Google과 같은 검색엔진은 HTTPS를 사용하는 사이트에 더 높은 순위를 부여한다.
위의 이유는 정리해본거고, HTTPS를 사용하지 않으면 브라우저에서 아래와 같은 페이지를 보여주기 때문에 뭔가 무서운 생각이 든다. 접속한 사이트는 믿지 못할 것 같은 느낌을 주기 때문에 HTTPS를 사용해야 한다.
혹시나 처음 접속한 사이트가 위와 같이 뜬다면 접속을 하지 마시라!
4. HTTP와 HTTPS의 차이
HTTP와 HTTP의 차이를 정리해보면 다음 표와 같다.
항목 | HTTP | HTTPS |
보안 | 데이터 암호화 없음 | SSL/TLS를 통해 데이터 암호화 |
속도 | 빠를 수 있으나 보안 취약 | 약간 느릴 수 있으나 보안 강력 |
주소 표시 | http://로 시작 | https://로 시작, 자물쇠 아이콘 표시 |
인증 | 서버 인증 없음 | 서버 인증 및 신뢰성 보장 |
간단히 HTTPS에 대해 살펴봤는데, HTTPS는 단순한 기술 이상의 의미를 갖는다.
사용자의 데이터를 보호하고, 웹사이트의 신뢰성을 높이며, 인터넷 사용의 안전성을 보장한다.
개인 사용자든 웹사이트 운영자든, HTTPS는 더 이상 선택이 아닌 필수라는 것을 기억하자.
웹 개발을 하면서 자신의 컴퓨터에서 HTTPS로 접속하는 환경을 만들고 싶다면 다음 포스팅을 참고하자.
XAMPP를 사용했지만 Apache 웹 서버를 사용한다면 참고가 될 것이다.
다음은 인터넷과 웹의 동작 방식에 대해 알아보면 좋을 것 같아서 아래 포스팅으로 이어간다.
상기 상품 배너는 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
'코딩해보니 > 웹(Web)개발' 카테고리의 다른 글
도메인 네임과 DNS (Domain Name & Domain Name System) (1) | 2024.11.23 |
---|---|
인터넷과 웹의 동작 방식 (인터넷은 어떻게 구성되고 웹은 어떻게 동작하는가?) (1) | 2024.11.22 |
웹에서 요청(Request)과 응답(Response)는 무엇인가? (2) | 2024.11.20 |
HTTP(HyperText Transfer Protocol)란 무엇인가? (2) | 2024.11.19 |
인터넷(Internet)과 웹(Web) (4) | 2024.11.18 |
댓글