Front-End/WEB
Binding / Redirect
2024.11.19
웹 개발에서 Redirect와 Binding은 클라이언트와 서버 간 데이터를 처리하고 페이지를 이동할 때 사용하는 두 가지 중요한 개념이다. 아래에서 각 개념과 차이점을 자세히 살펴보자1. Redirect**Redirect(리다이렉트)**는 서버가 클라이언트에게 다른 URL로 이동하라는 명령을 보내는 방식이다. 브라우저는 이를 받아 새로운 요청을 전송함작동 원리클라이언트가 서버에 요청서버는 클라이언트에게 HTTP 302 상태 코드와 함께 "Location" 헤더를 포함하여 새로운 URL을 응답클라이언트는 새로운 URL로 이동(새로운 HTTP 요청이 발생).특징새로운 요청: Redirect는 클라이언트가 새 HTTP 요청을 보내므로, 이전 요청과는 완전히 독립적URL 변경: 클라이언트 브라우저의 URL이 ..
Front-End/WEB
Tomcat Connection Pool
2024.11.19
컨넥션풀링이란?컨넥션 풀링은 데이터베이스와의 연결(Connection)을 효율적으로 관리하기 위한 기술로, 애플리케이션에서 필요할 때마다 새 연결을 생성하고 닫는 대신, 재사용 가능한 연결을 미리 생성하고 이를 풀(pool)에 보관하여 요청 시 제공하는 방식입니다. 이 방식은 데이터베이스와 연결하는 비용을 줄이고, 애플리케이션의 성능을 크게 향상시킵니다.1. 데이터베이스 연결의 일반적인 문제점비용이 높은 연결 생성: 데이터베이스 연결을 생성하는 데는 TCP 핸드셰이크, 인증 등 시간이 많이 걸립니다.연결의 반복적인 생성과 종료: 자주 연결을 생성하고 종료하면 시스템 리소스를 낭비하게 됩니다.동시 요청 증가: 많은 사용자가 동시에 애플리케이션에 접근하면, 새 연결을 생성하는 데 소요되는 시간이 병목 현상을..
Front-End/WEB
Response.SendRedirect
2024.11.18
response.sendRedirect는 클라이언트-서버 간 통신에서 서버가 클라이언트(브라우저)에게 다른 URL로 이동하라고 지시하는 방식이다.response.sendRedirect 동작 원리클라이언트 요청: 클라이언트가 서버에 HTTP 요청(예: GET 또는 POST)을 보냅니다.서버 응답: 서버는 sendRedirect를 사용해 클라이언트에게 302 HTTP 상태 코드와 새 URL을 포함한 Location 헤더를 보냅니다.클라이언트 동작: 클라이언트(브라우저)는 응답을 받고, Location 헤더에 지정된 URL로 새로운 요청을 보냅니다.최종 처리: 서버는 새 요청을 처리하고 결과를 반환합니다.특징URL 변경:브라우저의 주소창에 새 URL이 표시됩니다.클라이언트가 새로운 요청을 하기 때문입니다.두 ..
Front-End/WEB
Web-Servlet
2024.11.14
1. RequestDispatcher내부(forwarding): 현재 서블릿이 다른 서블릿이나 JSP로 요청을 전달할 때 사용된다.동작 방식: 서버 내부에서 요청을 전달하여 URL이 변경되지 않고 원래 요청과 응답 객체를 그대로 유지한다. 즉, 클라이언트는 중간에 페이지가 전환되었는지 알 수 없다.주로 사용되는 메서드: forward()와 include() 메서드를 사용한다.사용 예시: 로그인 후 사용자 정보를 다음 페이지에 전달할 때, 혹은 한 서블릿이 다른 서블릿이나 JSP로 요청을 내부적으로 처리해야 할 때 사용한다. RequestDispatcher dispatcher = request.getRequestDispatcher("target.jsp"); dispatcher.forward(request,..
Front-End/WEB
동기/비동기
2024.11.13
동기(Synchronous)동기는 사전적으로 '동시에 일어난다'는 의미를 갖고 있습니다.프로그래밍에서 동기는 작업이 순차적으로 진행되는 것을 의미합니다.즉, 한 작업이 시작되면 해당 작업이 완료될 때까지 다른 작업이 기다려야 합니다.동기 방식은 호출한 함수 또는 작업이 반환될 때까지 대기하는 동안 실행 흐름이 차단되는 특징이 있습니다. 동기 방식은 일반적으로 간단하고 직관적인 코드를 작성하기 쉽습니다.하지만 여러 작업이 동시에 실행되어야 하는 경우,각 작업의 완료를 기다리는 동안 시간이 소요되어 전체 프로세스의 성능이 저하될 수 있습니다.또한 한 작업이 지연되면 다른 작업들도 모두 지연되는 문제가 발생할 수 있습니다.비동기(Asynchronous)비동기는 사전적으로 '동시에 일어나지 않는다'는 의미를 갖..