HTTP 프로토콜은 인터넷상에서 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 프로토콜입니다.
HTTP로 보낼 수 있는 데이터는 HTML문서, 이미지, 동영상, 오디오, 텍스트 문서 등 여러종류가 있습니다.
여러번의 개선을 거쳐 현재는 HTTP/3까지 개발되었고, TCP를 개선하여 개발한 UDP를 사용합니다.
Stateless 특징이 있습니다. 서버가 클라이언트 상태를 보존하지 않습니다. 따라서 상태를 기억하기 위해 쿠키, 세션, 토큰을 사용합니다.
Connectionless 특징이 있습니다. 클라이언트와 서버가 한번 연결을 맺은 후, 서버가 클라이언트 요청에 응답을 하면 맺었던 연결을 끊어버립니다.
HTTP는 불특정 다수의 통신 환경을 기반으로 설계되었기 때문에 서버에서 다수의 클라이언트와의 연결을 유지하는 것을 막습니다.
HTTP는 전송계층의 TCP위에서 동작하는데 보안 조치가 없어 중간 가로채기 등으로 정보 노출에 취약합니다.