HTTP(Hyper Text Transfer Protocol)란?
- 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜
- HTTP는 인터넷에서 하이퍼 텍스트를 교환하기 위한 통신 규약으로 80번 포트 사용
- HTTP서버가 80번 포트에서 요청을 기다리고 있으며, 클라이언트는 80번 포트로 요청을 보냄
- HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜
- 비밀번호 및 주민등록번호 등을 주고 받으면 제 3자가 정보를 조회할 수 있기 때문에 보안성이 더 뛰어난 HTTPS가 등장
- 데이터가 패킷 단위로 전송되기 때문에 중간에 해커가 정보를 빼앗아 갈 수 있음(스니핑)
HTTPS(Hyper Text Transfer PRotocol Secure)란?
- HTTP에 데이터 암호화가 추가된 프로토콜
- HTTP와 다르게 443번 포트를 사용하며, 네트워크 상에서 중간에 제3자가 정보를 볼 수 없도록 암호화를 지원함
대칭키 암호화와 비대칭키 암호화
대칭키 암호화
- 클라이언트가 서버와 동일한 키를 사용해 암호화/복호화를 진행
- 키가 노출되면 매우 위험하지만 연산 속도가 빠름
- 데이터를 보낼 때 또는 받을 때 특정 Key가 존재하여 데이터를 보낼 때 암호화를 걸고 데이터를 받을 때 암호화를 푸는 방식이지만 해커는 Key를 풀 수 있어 매우 위험함
비대칭키 암호화
- 1개의 쌍으로 구성된 공개키와 개인키를 암호화/복호화 하는데 사용함
- 키가 노출되어도 비교적 안전하지만 연산 속도가 느림

- 보낼 때와 받을 때 key값이 존재하지만 서로 다른 key값이다.
- 패킷의 암호화 하는 key값고 복호화 하는 key값이 서로 다름
- 공개키 방식이며 Https의 원리