통신에 참여하는 주체들이 합의한 메시지 형식
&
사용 ex. 제품ID&제품이름
클라이언트와 서버가 통신할 때 사용하는 통신 규약
RFC 2616 에서 규정된 웹에서 데이터를 주고받는 프로토콜
TCP 기반으로한 REST 특정을 모두 구현하고 있는 웹기반 프로토콜
HTML, XML, JSON, Image, Voice, Video, Javascript, PDF 등 컴퓨터에서 다루는 다양한 것들을 전송 가능
웹 애플리케이션은 웹 클라이언트와 웹 서버가 메시지를 주고받으며 동작
⇒ 이때 HTTP 프로토콜 사용
브라우저-서버 연결은 잠깐 이뤄지고, 바로 끊긴다.
브라우저에 url 입력 후 엔터치는 것 = 브라우저가 서버에 연결 요청을 하는 것
이 요청한 순간 잠깐 서버와 연결 → 서버로부터 응답이 전송 → 곧 바로 연결 끊기는 것
브라우저와 서버가 지속적으로 연결된 상태를 유지한다면?
다른 브라우저와 연결 시 문제 발생
웹 특성상 많은 브라우저와 서버가 통신하기 때문에
상태정보를 지속적으로 유지하지 않는다.
웹 서버 = (현 실습 사용) tomcat
웹 클라이언트 = 브라우저
웹 서버가 웹 클라이언트의 상태 정보를 지속적으로 유지하지 않는 것
다른 값을 넘겨주면 다른 값이 찍힘
ex. 동적페이지 → url의 id 바꿀때마다 페이지 출력
상태정보 : 브라우저가 서버에게 요청을 전달하면서 함께 전달한 데이터
상태정보 유지가 필요한 작업은?
쿠키(Cookie)나 세션(Session)을 이용하여 상태를 유지 = Servlet&JSP의 핵심
메시지 주고 받기
- Clinet가 Server에 요청한 후, 응답받을 때까지 대기한다.
- Server는 요청대기 상태였다가, 응답요청을 받으면 일련의 과정을 거친다.
- Server는 응답 메시지를 Clinet에게 송신한다.
- Client는 Server가 보낸 응답메시지를 수신한다.
Clinet 의 대기
일정 시간동안 connection이 되지 않으면?
응답 대기하다가 자동으로 연결이 끊어짐
응답 대기 중 connection이 되어서 응답 메시지가 온다면?
응답 메시지 해석, 데이터 표시 및 처리