apache (2) 썸네일형 리스트형 [Java] http 요청과 응답 구현하기 - 2(apache tomcat의 http 처리) 개요 지난 글에서 library를 이용하지 않고 Socket을 이용해 'http' 프로토콜 요청을 구현해보았다. 이 때 apache tomcat 기반의 타겟 서버가 http message 규칙에 맞는 요청을 적절히 처리하여 응답한 것을 확인할 수 있었다. 그렇다면 apache tomcat은 어떻게 http 요청을 해석할 수 있었을까? http 응답을 위한 call stack 뜯어보기 yourkit 이라는 툴을 활용해 health check 서버가 SocketClient의 요청을 어떻게 처리했는지 콜스택을 살펴보자. call stack 특성상 가장 하위의 메서드부터 실행되어 응답되는 구조다. Thread가 실행되고, NIO를 통해 socket 연결 수립 후 실행된다. 이후 AbstractProtocl의 s.. [Java] http 요청과 응답 구현하기 - 1(socket으로 http 요청하기) 네트워크 - 요청과 응답 네트워크를 이용하면 멀리 떨어진 대상과도 자료를 주고 받을 수 있다. 가령 이 블로그 글의 정보를 얻기 위해 사용자는 개인 PC 서버에서 웹브라우저를 통해 tistory 서버 어딘가에 저장된 글이라는 데이터를 받고 있다. 네트워크는 OSI 7계층이나 TCP/IP 4계층 등으로 분류되는 개념으로 동작한다. 전기 신호를 직접 전달하는 하드웨어가 위치한 계층에서부터 실제 데이터를 주고 받는 주체인 'application'까지 계층적으로 각 역할을 수행한다. 요청을 주고 받는 과정을 TCP/IP 4계층의 용어로 설명하면, 'Network Access Layer'의 하드웨어를 이용해 'Internet Layer'에서 통상 IP로 목적지 네트워크 주소를 판별한다. 이후 'Transport.. 이전 1 다음