컴퓨터나 원거리 통신 장비 사이에서 메세지를 주고 받는 양식과 규칙의 체계를 말한다.
상호 합의하에 정해진 조건을 약속한 형태로 데이터를 주고 받는 것!
무엇을 - 구문(Syntax) / 어떻게 - 의미(Semantics) / 언제 - 시간(Timing)
서버에 연결하고 요청해서 응답 받으면 연결을 끊어버리는 것을 말한다.
장점
데이터를 주고 받기 위한 각각의 데이터 요청이 서로 독립적으로 관리가되며, 이전 데이터 요청과 다음 데이터 요청이 서로 관련이 없어져 서버는 세션과 같은 별도의 추가 정보를 관리하지 않아도 되고 다수의 요청 처리 및 서버 부하를 줄일 수 있다.
그래서 접속 유지를 최소화하고 불특정 다수를 대상으로 하는 서비스에 유리하다.
단점
연결을 끊어버리기 때문에 클라이언트의 이전 상태를 알 수 없어 로그인을 해도 정보유지가 불가능하다. 이런 단점을 해결하기 위해서 쿠키(Cookie)와 세션(Session)이 생겨났다.
HTTP 1.1버전 부터는 Keep-Alive 기능을 지원한다.
HTTP는 하나의 연결에 하나의 요청을 하는 것을 기준으로 설계가 되었다. 문서에 여러개의 파일이 있다면 계속 연결과 다운 하고 연결을 끊어야한다. 그러다 보면 TCP 통신 과정에서 비용이 많이 소모된다.
그래서 나온 것이 keep-alive인데 지정된 시간동안 연결을 끊지 않고 요청을 계속해서 보낼 수 있다.
SSL은 전자상거래에서의 데이터 보안을 위해서 개발한 통신 레이어다. SSL은 표현계층의 프로토콜로 응용 계층 아래에 있기 때문에, 어떤 응용 계층의 데이터라도 암호화해서 보낼 수 있다.
이미지 출처 : 빨간색코딩