Web/Web

    [Web] 서버 성능 테스트 종류와 도구 및 대규모 트래픽 상황 대비

    0. 성능 테스트의 필요성 - 서버 개발을 완료하고 오류 없이 동작한다고 해도, 실제 서비스에서는 많은 사람들이 동시에 서버에 접속하기 때문에 서버에 부하 발생    - 이 과정에서 여러 문제점이 발견될 수 있다- 또한, 서비스가 운영되는 과정에서 서비스 트래픽이 성장세에 있을 때 추가적인 자원이 필요할 수도 있다- 서버 개발자는 이러한 문제점을 사전에 방지하기 위해 성능 테스트가 필요하다   1. 성능 테스트 (Performance Test)시스템 구성 요소가 특정 상황에서 어떤 성능을 보이는지 확인하기 위해 수행되는 테스트제품의 리소스 사용, 확장성 및 안정성을 검증할 수 있다- 성공적인 성능 테스트는 DB, 네트워크, SW, HW 등과 관련된 대부분의 성능 문제를 예측한다- 성능 테스트의 종류에는 ..

    [Web] 서블릿 필터 (Servlet Filter)

    서블릿 필터(Servlet Filter)란? Client로부터 Server로 요청이 들어오기 전, 서블릿을 거쳐 필터링 하는 것 - 공통적인 요청 전처리와 응답 후처리에 사용 • 인증, 로깅, 인코딩 등 • 전처리 / 후처리 코드의 중복 제거에 유용하다 - 보통 하나의 필터를 사용하지만 여러 개의 필터를 사용할 수 있다 • Filter1 전처리 → Filter2 전처리 → Servlet → Filter2 후처리 → Filter1 후처리 Filter 인터페이스 필터를 설정하는 FilterConfig, FilterChain, Filter 객체 필요 - FilterConfig, FilterChain 인터페이스를 상속받은 클래스들은 웹 컨테이너가 구현 - Filter에 필요한 건사용자 정의 필터 클래스는 ja..

    [Web] JSP란? JSP 호출과정 / 기본객체 / EL / JSTL

    1. JSP 란? Java Server Page - HTML 코드에 Java 코드를 넣어 동적 웹페이지를 생성하는 웹 애플리케이션 도구 - JSP가 실행되면, Java Servlet으로 변환되며 웹 애플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 생성된 데이터를 웹 페이지와 함게 클라이언트로 응답한다 - HTML 코드 작성이 편해지지만, 비즈니스 로직 또한 JSP 파일에 같이 존재 (→ SRP 어긴다 → 유지보수가 어려워진다) 2. JSP 호출과정 - 확장자가 *.jsp인 요청은 모두 JspServlet이 받는다 - 첫 번째 호출에만 JSP를 변환 → 컴파일 → 객체 생성 (시간 지연 有) 두 번째 호출부터는 객체 생성 없이 service() 메서드 응답 - JSP가 변경되면 다시 변환 → 컴파일..

    [Web] 서블릿(Servlet)이란? JSP와 MVC 패턴으로의 변화

    HttpServletRequest 객체나 WAS에 대해 공부할 때 나온 Servlet이란 무엇일까? 어렴풋이 비즈니스 로직을 처리해서 결과를 전달해준다는 느낌은 오는데, 구체적으로 알아보자 그리고 서블릿을 어떻게 발전시켜 지금의 MVC 구조가 나왔는지도 알아보자! 1. 서블릿(Servlet) 이란? 동적 웹페이지를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로도 체계적으로 다룰 수 있게 한다 1.1. 서블릿의 주요 특징 - 클라이언트의 Request에 대해 동적으로 작동하는 웹 애플리케이션 컴포넌트 - Java 스레드를 이용하여 동작 - MVC 패턴에서 Controller로 이용 - 컨테이너에서 실행 - 보안 기능을 적용하기 쉬움 - 기본..

    [Web] HTTP 응답 상태코드와 요청 메서드(GET / POST)

    HTTP 응답 상태코드의 의미 상태코드 의미 1xx Informational (클라이언트-서버 간 정보 교환 목적, 잘 사용되지 않는다) 2xx Success 3xx Redirect (다른 URL 요청) 4xx Client Error (ex. 404 Not Found: 클라이언트가 잘못 요청한거임) 5xx Server Error (ex. 서버 처리 중 에러, 클라이언트 요청은 정상) GET - 주로 데이터를 읽거나(Read) 검색(Retrieve)할 때 사용되는 메서드 • ex. 검색엔진에서 검색 단어 전송, URL 내 제품 ID - Query String을 통해 데이터를 전달 (소용량, Body 내용 없음) • URL에 데이터가 노출되기 때문에 보안에 취약하다 POST - 주로 새로운 리소스를 생성(C..

    [Web] WAS란? 동적 / 정적 콘텐츠, Tomcat 요청 처리 과정

    0. 정적 - 동적 컨텐츠와 Web Server - WAS - 정적 컨텐츠 (Static Contents) • 요청 받은 파일 경로에 따라 항상 동일한 file contents를 반환 • ex) index.html, cat.jpg, style.css, hello.js • Web Server는 정적 컨텐츠를 반환한다 (대표적인 Web Server 종류 : Apache, Nginx 등) - 동적 컨텐츠 (Dynamic Contents) • 파라미터의 내용에 맞는 동적인 contents(프로그램의 결과물)를 반환 • WAS는 DB 조회, 로직 처리 등의 프로그램을 통해 처리한 동적 컨텐츠를 반환한다 (대표적인 WAS 종류 : Tomcat) 1. WAS 란? Web Application Server - DB 조..

    [Web] Java 백엔드 개발자가 되기 위해 공부해야 할 것들 : JSP 모델, Ajax, jQuery, SPA(React, Vue.js, Angular)

    Kevin Java 개발자 로드맵 강의를 보면서 [무료] Kevin의 알기 쉬운 Java 개발자 로드맵 이야기 - 인프런 | 강의 Kevin의 알기 쉬운 Java 개발자(웹 개발자) 로드맵 이야기, - 강의 소개 | 인프런... www.inflearn.com Java 웹 개발자로서 공부해야할 것들이 머리에 잘 들어온 것 같아 기억해두려고 정리하는 글입니다 🧐 JSP 모델 1 방식 - DB에서 조회한 Data를 View Page(HTML 조각코드)로 가공하여 응답으로 보낸다 JSP 모델 2 방식 - JSP는 View Page를 만드는 역할만을 분리하여 가지기 때문에 코드가 간단하고 깔끔하다 - Servlet에서 DB로 부터 얻은 Data를 JSP에 제공하고, View Page를 돌려받는다 AJAX Asyn..