HTTP와 HTTPS 차이점
HTTP 란?
HTTP(HyperText Transfer Protocol)는 인터넷에서 웹 서버와 사용자의 인터넷 웹 브라우저 사이에 문서를 전송하기 위한 통신 규약입니다.포트 번호는 80번을 사용하고 있습니다. HTTP는 단순 텍스트를 주고 받기 때문에 네트워크에서 전송 신호를 가로챌 수 있는 경우 원하지 않는 데이터 유출이 발생 할 수도 있습니다.
HTTPS 란?
HTTPS는 간단하게 HTTP에(Secure)를 추가한 것 입니다. HTTPS는 SSL/TLS를 통해 암호화하여 컴퓨터 네트워크를 통신을 보안하도록 설계된 웹 통신 프로토콜 입니다. 포트번호는 443을 사용하고 있습니다.
HTTP와 HTTPS의 차이점!
두 프로토콜 사이에 가장 큰 차이점은 SSL 인증서 입니다. HTTPS의 SSL 인증서는 사용자가 사이트에 제공하는 정보를 암호화 합니다. 이렇게 전송된 데이터는 누군가 정볼르 가로 챈다고 하더라도 데이터가 암호화 되어 있기 때문에 해독 할 수 없습니다. 또한 HTTPS로 사이트를 만든 경우 검색엔진에 최적화(SEO)에 있어서 큰 혜택을 받을 수 있습니다.
HTTPS의 인증서는 어떻게 보안을 하나요?
HTTPS는 HTTP에 데이터 암호화가 추가된 프로토콜(통신규약)입니다. 공개키와 개인키를 사용하며 암호화 방식을 이용해 데이터를 암호화 합니다. 공개키와 개인키는 서로를 위한 한 쌍의 키입니다. 공개키는 모두에게 공개가능한 키이고, 개인키는 나만 알고 있어야 하는 키 입니다. CA(Certificate Authority)는 인증서 발급기관 입니다.
작동 원리
- 개발회사에서 어플리케이션에 HTTPS를 적용하기 위해 CA에게 인증서를 발급 받습니다.
- 개인키로 암호화를 한 후 브라우저에 데이터를 보냅니다.
- 브라우저는 이미 인증서를 발급한 회사의 공개키를 가지고 있기 때문에 복호화 할 수 있습니다.(이 과정에서 금액을 지불하게 됩니다.)
- 공개키로 암호화를해서 어플리케잇견에 데이터를 보내면 개인키로 다시 복호화를 합니다.
세션과 토큰 차이
Session(세션)
- 웹 브라우저 접속부터 종료할 때 까지 유지가 됩니다.
장점
- 신뢰할 수 있는 유저인지 서버에서 추가로 확인이 가능하며, 각 클라이언트에 고유 ID를 부여함으로 정확하게 구분이 가능합니다.
- 민감한 정보는 서버에서 관리하므로 쿠키보다 안전합니다.
단점
- 세션을 서버에 저장해서 사용자가 많을 경우 메모리 소모가 크며 하나의 서버에서만 접속상태를 가지므로 분산에 불리합니다.
토큰
장점
- 서버의 부담을 줄여주며 여러개의 서버를 운영할 때 유용합니다.
단점
- 토큰이 탈취될 가능성이 있기 때문에 만료시간을 둬서 보완해야합니다