HTTP 프로토콜
HTTP(Hypertext Transfer Protocol)는 인터넷에서 데이터를 주고받는 데 사용되는 프로토콜 중 하나이다. HTTP는 웹 브라우저와 웹 서버 간의 통신을 위해 개발되었으며, HTML, CSS, Javascript 등의 문서를 전송하기 위한 표준 프로토콜로 사용된다.
HTTP는 클라이언트-서버 모델을 따르며, 클라이언트(보통은 웹 브라우저)가 서버에 요청(Request)을 보내고, 서버는 클라이언트에게 응답(Response)을 보낸다. 이때, 요청과 응답은 HTTP 메시지라는 형식으로 전송된다.
HTTP는 기본적으로 평문(Plain text)으로 데이터를 전송하기 때문에 데이터의 기밀성과 보안에 취약점이 존재한다. 따라서, 이 문제점을 보완하기 위해서 HTTP보다 보안성이 높은 HTTPS가 등장했다.
HTTPS 프로토콜
HTTPS(Hypertext Transfer Protocol Secure)는 HTTP 프로토콜의 보안 강화 버전입니다. HTTPS는 HTTP와 마찬가지로 인터넷 상에서 데이터를 주고받는 데 사용되며, SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 프로토콜을 사용하여 데이터를 암호화하고 보호해준다.
HTTPS는 HTTP와 달리, 클라이언트와 서버 간에 암호화된 통신 채널을 사용합니다. 이 암호화된 통신 채널을 통해 데이터가 전송되기 때문에, 중간자 공격(네트워크 통신을 조작하는 보안 공격)과 같은 보안 위협으로부터 보호받을 수 있다.
HTTPS의 동작 방식은 이렇다.
.
- 클라이언트는 서버에 접속하고, SSL/TLS 암호화 방식을 사용하여 인증 요청을 보낸다.
- 서버는 인증서를 클라이언트에게 보내고, 클라이언트는 이 인증서가 신뢰할 수 있는지 확인한다.
- 클라이언트와 서버 간에 공유된 비밀키를 사용하여 데이터를 암호화하고 전송한다.
참고 : https://developer.mozilla.org/ko/docs/Web/HTTP/Overview
https://www.ibm.com/docs/ko/aix/7.1?topic=systems-client-server
'it기초' 카테고리의 다른 글
[IT 기초] IP주소? IP유형(Public IP, Private IP)의 차이 (0) | 2023.03.15 |
---|---|
[IT 기초] 클라우드 컴퓨팅? IaaS, PaaS, SaaS는 뭐지? (0) | 2023.03.14 |
서버 운영체제로 리눅스를 사용하는 이유 (0) | 2023.03.09 |