HTTP는 웹 페이지와 관련된 리소스를 클라이언트와 서버 사이에서 교환하는데 사용되는 프로토콜이다.
보통 클라이언트에 의해 전송되는 메시지를 요청(Request) 이라고 부르며,
서버는 요청에 따른 적절한 응답(Response) 을 클라이언트에게 전송한다.
HTTP는 상태를 저장하지 않는(Stateless) 프로토콜이다.
Stateless 라는 특성은, 요청-응답이 독립적이며, 이전 요청에 대한 정보를 저장하지 않는다는 것을 의미한다.
따라서, 서버는 각 요청을 별개의 트랜잭션으로 취급하게 된다.
그리고 이러한 특성 때문에 HTTP는 빠르고 효율적인 데이터 전송을 가능하게 한다.
HTTP 요청과 응답에는 다양한 메소드가 사용된다.
일반적인 HTTP 메소드로는 GET, POST, PUT, DELETE 등이 있고, 각각 데이터를 조회, 생성, 수정, 삭제하는 기능을 수행한다.
HTTPS는 HTTP에 보안 계층을 추가하여 웹 통신의 보안을 강화한 프로토콜이다.
애플리케이션 계층과 전송 계층 사이에 신뢰 계층인 SSL/TLS 계층을 넣어 신뢰할 수 있는 HTTP요청을 의미한다.
SSL/TLS 프로토콜을 사용하여 데이터를 암호화하고, 인증 및 무결성을 제공한다.
공격자가 서버인 척 하며 사용자의 정보를 가로채는 중간자 공격(Man-In-The-Middle Attack) 같은 공격에 대해 보호 할 수 있다.
주요한 차이점은 보안이다.
HTTP는 평문으로 데이터를 전송하여 쉽게 가로채거나 조작될 수 있는 위험이 있다.
이에 SSL/TLS 프로토콜을 이용하여 데이터를 암호화 하고 인증하는 방법을 사용하여 보안성을 강화한 것이 HTTPS이다.
최근에는 웹사이트 대부분이 HTTPS를 사용하고 있으며,
사용자의 정보와 데이터를 보호하는 데 중요한 역할을 하고있다.