반응형
Web Server (웹 서버)웹 서버란, HTTP 프로토콜을 기반으로 동작하는 서버로,동작하는 방식은 클라이언트가 웹 서버에 HTTP 요청을 보내면 웹 서버는 HTTP로 응답하여 정적 리소스를 제공합니다. 대표적인 웹 서버- Nginx- Apache WAS - Web Application Server (웹 어플리케이션 서버)WAS도 Web 서버처럼 HTTP 프로토콜을 기반으로 동작하고 웹 서버 기능을 포함하여 동적 리소스도 제공 할 수 있는 Application 서버입니다.WAS는 서블릿 컨테이너 또는 웹 컨테이너를 제공하고 컨테이너를 통해 프로그램 코드를 실행해 애플리케이션 로직을 수행하거나 DB 조회 등.. 동적 리소스를 제공합니다. 대표적인 WAS- Tomcat (톰캣)- Jetty- Undert..
HTTP 메서드 종류 HTTP 메서드란 클라이언트와 서버 사이에 이뤄지는 요청과 응답 데이터를 전송하는 방식입니다. HTTP 메서드는 총 9가지가 있으며 주로 GET, POST, PUT, PATCH, DELETE를 사용합니다. 메서드 이름 설 명 GET 리스소 조회 POST 등록, 요청 데이터 처리 PUT 리소스 덮어쓰기 (해당 리소스가 없으면 생성) PATCH 리소스 부분 분경 (PUT은 전체 변경이지만, PATCH는 일부만 변경) DELETE 리소스 삭제 HEAD GET과 동일하나 메시지 부분(Body)를 제외하고, 상태 줄과 헤더만 반환 OPTIONS 대상 리소스에 대한 통신 가능 옵션(메서드)을 설명 (주로 CORS에서 사용) CONNECT 대상 자원으로 식별되는 서버에 대한 터널을 설정 TRAC..
HTTP (HyperText Transfer Protocol) 인터넷에서 데이터를 주고받을 수 있는 프로토콜(규칙)으로 이렇게 규칙을 정해두었기 때문에, 모든 프로그램이 이 규칙에 맞춰 개발해서 서로 정보를 교환할 수 있습니다. 지금은 HTTP 시대라 할 만큼 모든 형태의 데이터를 HTTP를 사용해 전송할 수 있습니다. HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML 서버간의 데이터를 주고 받을 때 거의 모든 형태의 데이터 전송 가능 HTTP의 역사 HTTP/0.9 - 1991년 : GET 메서드만 지원, HTTP 헤더 X HTTP/1.0 - 1996년 : 메서드, 헤더 추가 HTTP/1.1 - 1997년 : 현재 가장 많이 사용하는 버전 HTTP/2 - 2015년 : 성능 개선 H..
Lombok 이란? Java의 라이브러리로 반복되는 메서드를 Anntation을 사용해 자동으로 작성해주는 아주 편리한 라이브러리입니다. Java에서 보통 Model 클래스나 Entity같은 도메인 클래스 등에는 여러 속성이 존재하고 이들이 갖는 프로퍼티에 대해서 Getter, Setter, 생성자 등을 매번 작성해줘야하지만 Lombok을 이용한다면 어노테이션을 이용하는 것 만으로 자동으로 Getter, Setter, 생성자 등의 코드를 작성해줘 번거로운 과정을 제거해줍니다. 인텔리제이 Lombok 설치 및 적용 방법 1. 파일 -> 설정 -> 플러그인 에서 lombok을 검색 후 플러그인을 설치합니다. 2. build.gradle의 dependency에 아래 코드를 추가합니다. dependencies ..
Spring Bean의 생명 주기 Spring Bean은 다음과 같은 생명 주기를 갖습니다. 스프링 컨테이너 생성 => 스프링 빈 생성 => 의존 관계 주입(DI) => 초기화 콜백 => 사용 => 소멸전 콜백 => 스프링 종료 위 생명 주기를 보면 스프링 빈(Spring Bean)은 객체를 생성하고, 의존관계 주입이 다 끝난 후에야 필요한 데이터를 사용할 수 있는 준비가 완료 됩니다. 즉, 생성자가 호출되었을 때 스프링 빈은 초기화 전이고 DI(의존관계 주입)이 이루어 지고 나서야 스프링 빈이 초기화 됩니다. 초기화 작업은 의존관계 주입이 모두 완료되고 난 다음에 호출하게 되는데, 개발자가 의존관계 주입이 완료된 시점이 언제인지 알 수 있는 방법이 없습니다. 그래서 Spring은 다음과 같은 빈 생명주..
Spring이 나오기 이전엔 ? Java로 개발을 하던 초기에는 EJB(Enterprise Java Beans) 라는 기술을 사용했었습니다. 하지만 EJB는 이론적인 부분은 매력적이였지만 상당히 가격이 비쌌고, 복잡하고 어렵고 느리다는 단점이 있어 EJB로 개발하는 것은 지옥과 같다는 말이 나올 정도로 부정적인 말이 많았습니다. 그래서 차라리 EJB를 쓸 빠에는 POJO(Plain Old Java Object) 순수한 옛날 자바로 돌아가자라는 말이 나오기도 했었습니다. 그러다 EJB에 지친 개발자들이 오픈소스 프로젝트로 Spring이라는 오픈소스 기술을 개발하였고 이 Spring은 EJB의 복잡하고 어렵고 느리고 비싼 단점들을 개선하고 수 많은 편의기능들을 제공하여 Spring이라는 이름은 "EJB라는 ..