HTTP는 클라이언트의 요청과 서버의 응답으로 구성된 방식입니다.
프토토콜은 통신 규약을 뜻합니다.
과거에는 우리가 오늘처럼 리소스가 풍부하지 않았습니다.
한정된 자원을 가지고 큰 효율을 내기 위해서 여러 규칙을 정해서 통신을 하여 리소스를 아껴야 되었죠.
이러한 모습으로 프로토콜이라는 통신 규약이 생겨났고 오늘날 까지 계속해서 사용되어 지고 있습니다.
HTTP의 취약점을 보완하기 위해 만들어진 것이 바로 HTTPS 입니다.
이름에서 유추할 수 있듯이 HTTPS의 HTTP에서 Secure 기능이 추가 된 것입니다. HTTPS 원리는 매우 복잡하지만 다음과 같이 요약할 수 있습니다.

해당 서버에서 HTTPS 포로토콜을 사용하기 위해서 먼저 CA 인증기관에서 인증서를 발급 받습니다. 이 인증서를 웹사이트에 적용하면 이후 서버는 클라이언트가 접속할 때 먼저 인증서를 제시합니다.
브라우저에는 신뢰받는 CA 목록과 그들이 발급한 인증서를 판별할 수 있는 장치가 있습니다. 브라우저는 이 장치를 이용하여 인증서가 유효한지 확인합니다. 인증서가 확인된 웹사이트는 주소창에 자물쇠 표시로 HTTPS를 사용하는 곳임을 나타냅니다.
HTTP는 서버와 동시에 통신하는 클라이언트 수가 많기 때문에 클라이언트 요청을 두 번 보냈을 때 이 서버는 이 두 요청이 같은 클라이언트에서 보낸 것을 알지 못합니다.
이처럼 어떤 공통된 상태 아래 있지 않고 각각의 개별적인 상태를 프로그래밍에서는 stateless라고 부르며, 이와 반대로 전화 통화처럼 서로 공통된 상태를 갖고 통신하는 것이 stateful 이라고 합니다.
하이퍼텍스트란 꼭 전체 글자를 순서대로 읽지 않아도 되는 문서를 의미합니다.
우리가 소설을 읽어야 할 때, 순서대로 읽어야 내용이 이해되는 것과는 달리 실제 웹페이지를 읽을 때는 특정 관심있는 부분만 읽어도 아무런 상관이 없기 때문에 웹 페이지는 하이퍼텍스트로 만들어졌다고 볼 수 있습니다.