HTTPHyperText Transfer ProtocolHyperTextHTML 문서 간에 링크를 통해서 연결할 수 있는 HyperText모든 것이 HTTPHTTP 메시지에 모든 것을 전송HTML, TEXTIMAGE, 음성, 영상, 파일JSON, XML (API)거의 모든 형태의 데이터 전송 가능서버 간에 데이터를 주고받을 때도 대부분 HTTP 사용HTTP 역사HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더XHTTP/1.0 1996년: 메서드, 헤더 추가HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전RFC2068 (1997) -> RFC2616 (1999) -> RFC7230~7235 (2014)HTTP/2 2015년: 성능 개선HTTP/3 진행 중: TCP 대..
URI(Uniform Resource Identifier)리소스를 식별하는 통합된 방법URI? URL? URN?URI는 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다인터넷에서 식별되는 자원을 나타내는 문자열인터넷에서 식별되는 자원Uniform Resource Identifier (URI)를 통해 나타난다.이 자원은 웹상에서 다양한 형태로 존재할 수 있다.주요한 유형은 다음과 같다:웹 페이지 (Web Pages): 가장 일반적으로 웹 브라우저에서 접근하는 HTML 문서다. 웹 페이지의 URI는 주로 URL로 나타난다.예: https://www.example.com/index.html이미지 (Images): 웹 페이지에서 사용되는 그림이나 사진 등의 이미지 파일은 각각 고유한..
빈 생명주기 콜백스프링 빈이 생성되거나 죽기 일보직전에 스프링이 빈 안에 있는 메서드를 호출하는 기능이다.생성되고 나서 초기화될 때 호출 혹은 빈이 사라지기 직전 안전하게 종료할 수 있는 메서드를 호출한다.빈 생명주기 콜백 시작데이터베이스 커넥션 풀이나, 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화와 종료 작업이 필요하다.이번 시간에는 스프링을 통해 이러한 초기화 작업과 종료 작업을 어떻게 진행하는지 예제로 알아보자.간단하게 외부 네트워크에 미리 연결하는 객체를 하나 생성한다고 가정해보자.실제로 네트워크에 연결하는 것은 아니고, 단순히 문자만 출력하도록 했다.이 NetworkClient는 애플리케이..
프론트 컨트롤러 패턴 소개프론트 컨트롤러 도입 전입구가 없어 아무 컨트롤러나 호출할 수 있는 상황이다.그래서 클라이언트의 요청에 대한 공통 로직을 컨트롤러마다 작성해야 하는 문제점이 있다.프론트 컨트롤러 도입 후FrontController 패턴 특징프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받는 구조다.요청을 받으면 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출한다.즉 요청에 대한 입구를 하나로 해서 공통 처리가 가능해졌다.이를 통해 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 된다.정리프론트 컨트롤러도 서블릿이다.그래서 컨트롤러들 앞에다가 공통 로직을 처리할 서블릿을 뒀다고 이해하면 된다.이전에는 고객의 요청이 오면 서블릿 매핑으로 직접 호출이 되었다.이제 그게 아..