개발 이야기/프론트엔드 개발자

4) 클라이언트와 서버의 연결

석구석구 2016. 9. 8. 13:22

웹 서버


- HTTP 프로토콜을 기반으로 하여 클라이언트의 요청을 서비스 한다.

- HTML, Image, xml 등에 대한 처리

- 일반적으로 apache


웹 어플리케이션 서버


- 클라이언트의 요구를 웹서버 혼자서는 감당할 수 없기 때문에 구조적으로 웹 서버의 기능을 분리하기 위해 만듬.

- 웹서버와 웹 컨테이너의 결합

- 다양한 기능을 컨테이너에 구현하여 역할 수행.


WEB SERVER 는 정적 리소스 담당

WAS는 비지니스 로직을 수행 + 정적 리소스 담당



Tomcat


JSP 환경을 포함하고 있는 서블릿 컨테이너



연결 과정


wireshark으로 보면 TCP/HTTP 처리 과정을 볼 수 있다.


< 세션 사용을 필요로 하는 사용자의 첫 요청 >
서버의 생각///// 어라, HTTP Request의 헤더에세션 id가 없네?
이 넘은 처음 요청한 넘이다. 세션 객체를 하나 새로 만들고
그 객체의 key를 HTTP Response의 헤더로 넘겨주자.
그 HTTP Response를 받은 클라이언트의 생각/////
어 이넘이 세션 ID를 줬어. 쿠키에 설정해놓자.

< 그 다음 요청들 >
클라이언트의 생각///// HTTP Request 헤더에 session id를 넣어서 보내자.
그 걸 받은 서버의 생각///// 이 넘은 예전에 보내줬나보네... 기억이 안나. 객체 만들필요 없겠군. 있던거 쓰자!

'개발 이야기 > 프론트엔드 개발자' 카테고리의 다른 글

GET, POST, ...ETC 그리고 HTTP 응답  (0) 2019.06.12
Restful api  (0) 2019.06.12
3) 메서드  (0) 2016.09.08
2) 브라우저 이벤트  (0) 2016.09.08
1) 브라우저는 어떻게 동작하는가?  (0) 2016.08.29