HTTP는 Hyper Text Transfer Protocol의 줄임말으로써 서버와 클라이언트간에 데이터를 주고 받는 프로토콜이다.
HTTP는 텍스트, 이미지,영상, JSON 등등 거의 모든 형태의 데이터를 전송할수 있다.
세상에 등장한지 벌써 30년이나 된 HTTP는 1997년 만들어진 HTTP/1.1가 가장 보편화 되어있으며, 현재는 HTTP/2를 거쳐 HTTP/3까지 개발된 상태입니다. TCP를 개선해서 만들어진** UDP가 HTTP/3 기술에 사용된다.
HTTP 통신은 클라이언트와 서버간의 통신에 있어서 별다른 보안 조치가 없기때문에 만약 누군가 네트워크 신호를 가로챈다면 HTTP의 내용은 그대로 외부에 노출된다.
중요 정보가 없는 소규모의 프로젝트라면 문제가 되지 않겠지만 고객의 개인정보나 비밀을 취급하는 대규모 서비스라면 큰 보안적 으로 문제가 있다.
이런 문제를 해결하기 위해 등장한 것이 HTTPS이다.
요즘은 거의 모든 사이트의 주소창에서 자물쇠 표시를 볼 수 있다.
HTTPS가 적용되었다는걸 알려주는게 바로 저 자물쇠 입다.
HTTPS가 옛날부터 보편화되어있지는 않았다.
구글은 HTTPS를 적용하는 사이트들에게 SEO(검색 엔진 최적화)에 있어서 가산점을 주겠다고 했다. 사용자 정보의 안전성도 보장받고, 사용자들의 웹사이트 유입도 늘릴수 있으니 HTTPS로 변환할 이유는 충분했을 거다.
기존의 HTTP 프로토콜은 전송계층의 TCP위에서 동작한다.
여기서 SSL(Secure Sockets Layer)이라는 보안계층이 전송계층 위에 올라간다. HTTPS는 SSL 위에 HTTP를 얹어서 보안이 보장된 통신을 하는 프로토콜이다. 이 통신 방식을 SSL 암호화 통신 이라고도 한다. SSL 암호화 통신은 공개키 암호화 방식이라는 알고리즘을 통해 구현된다.