HTTP와 HTTPS S의 차이를 알아보자
HTTP(HyperTextTransfer Protocol)
웹 상에서 클라이언트와 서버가 요청/응답으로 정보를 주고 받을 수 있도록 하는 프로토콜!
TCP/IP 기반으로 서버와 클라이언트 간의 요청과 응답을 전송!
HTTP의 특징
- TCP 기반의 통신 방식
- 비연결형(Connectionless)
- 사용자의 요청으로 서버와 접속하여 요청에 대한 응답의 데이터를 전송후 연결을 종료
- 자원이 적게 드는 장점
- 무상태(Stateless)
- 연결을 끊은 후 상태 정보를 유지하지 않는다.
- 쿠키,세션등을 이용해야 한다.
- 단방향성
- 요청 한개에 대해 한개의 응답을 하는 방식
HTTP의 문제점
- 암호화 기능이 없다
- 단순 텍스트 형식으로 주고 받기 때문에, 중간에서 누군가가 가로챈다면 내용이 그대로 노출
- 신뢰성의 문제
- 통신하는 사이트가 정품인지 확인하는 방법이 없어서 다른 사이트가 위장할 수도 있다
- 통신 내용 변경 가능
- 중간에 데이터를 변조한다면 정확한 데이터를 주고 받을 수 없다.
이러한 문제들 때문에 HTTPS가 나오게 됐다
HTTPS의 특징
웹 통신 프로토콜인 HTTP의 보안이 강화된 버전의 프로토콜!
HTTP를 보완하는 수단!
- 공개키 알고리즘 방식
- SSL과 통신하여 TCP와 통신
- 대칭키 암호화 방식과 공개키 암호화 방식 모두 사용
예상 질문
왜 HTTPS를 사용해야 할까요?
HTTP를 통해 텍스트 정보를 교환하면서 텍스트 정보 내부에 중요한 내용(예를 들어 주민등록 번호나 비밀번호 등)을 중간에서 제 3자가 정보를 열람할 위험이 있다. 중간에서 정보를 볼 수 없도록 주고받는 정보를 암호화하는 방법인 HTTPS가 필요하다.
공개키 암호화 방식이 어떻게 되나요?
공개키는 모두에게 공개된 키이고, 개인키는 개인에게만 공개되어 있는 키입니다.
클라이언트에서 서버에게 요청을 할 때 사용자의 데이터를 공개키로 암호화해 보냅니다.(공개키를 얻은 인증된 사용자가 됩니다.)
서버로 전송중에 데이터를 가로채도 개인키가 없기 때문에 복호화가 불가능합니다.
서버로 전송된 데이터를 서버가 개인키를 통해 복호화하여 요청을 처리합니다.
HTTP의 동작과정에 대해서 설명해 주세요
나중에 다시 SSL, HTTPS 동작 과정 정리를 해야 겠다.
'CS > 네트워크' 카테고리의 다른 글
웹사이트에 접속할 때 일어나는 상황에 대해서 (0) | 2022.01.15 |
---|---|
쿠키(Cookie) & 세션(Session)의 차이에 대해서 알아보자! (0) | 2022.01.14 |
동기(Synchronous) & 비동기(Asynchronous)의 차이점? (0) | 2022.01.13 |
TCP(Transmission Control Protocol) & UDP(User Datagram Protocol)이 뭐야? (0) | 2022.01.11 |
OSI 7 Layer (0) | 2022.01.10 |