
1. HTTP란?
HTTP (Hyper Text Transfer Protocol)(80포트 사용): 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인
프로토콜이다. 웹 서핑을 할 때 서버에서 자신의 브라우저로 데이터를 전송해 주는 용도로 가장 많이 사용된다.
HTTP의 한계로는 암호화가 되어있지 않아 보안이 않좋다는 단점이 있다. 암호화가 되어 있지 않으면
신원이 보장 되어 있지 않은 다수의 Client와 통신을 해야한다는 위험성이 있으며 대량의 Request를 통한 DOS 공격의
위험성 또한 존재 하게 된다. 그래서 등장하게 된게 HTTPS이다.
2. HTTPS란?
HTTPS (Hypertext Transfer Protocol Secure)(433포트 사용): 기존 서버에서 브라우저로 전송되는정보가 암호화 되지 않는 HTTP 프로토콜의 문제 점을 보완한 것으로 SSL(보안 소켓 계층)을 사용함으로써 이 문제를 해결했다.
여기서 SSL 동작방식이란 SSL은 Secure Socket Layer이라는 암호 규약으로 SSL은 보안계층이라는 독립적인 프로토콜을 만들어
아래의 그림과 같이 응용 계층과 전송 계층 사이에 존재하게 된다. SSL은 공개키 암호화 방식과 대칭키 암호화 방식이 합쳐져
진행되는데 공개키방식은 느리기 때문에 대칭키를 전달하는데 사용하고 공유된 대칭키로 통신을 진행한다. 인증서 검증시 복호화
되어 서버의 정보를 확인할 수 있다면 해당 SSL 인증서는 진짜라는것을 알 수 있다.


위에서는 HTTP와 HTTPS를 비교해보았다. 이렇게 비교해 보았을때는 보안에 취약한 HTTP를 쓰지 않을것
같지만 실제로는 HTTPS는 많은 과정을 거치기 때문에 웹페이지가 무거워 진다는 단점을 지니고 있다.
그래서 보안이 필요한 곳에서 주로 HTTPS를 사용하는 모습을 볼 수 가 있다.