• 세션 동작 원리 - 쿠키와 세션의 관계

    우리가 매일 쓰는 웹사이트는 어떻게 보면 매우 단순한 방식으로 동작합니다. 그저 원하는 자료(Resource)를 웹서버에 요청하면 그 자료를 돌려주는 형태이지요. 예를 들어 아래 주소에 있는 이미지를 달라고 요청하면 요청한 이미지를 돌려줍니다. http://show.me.the.image/my-horrible-face.png 그런데 우리가 하는 요청에 조건이 붙는 경우가 있습니다. 예를 들면 ‘쇼핑광’이라는 사용자가 로그인했으면 요청한 에르메스백 사진 을 보여주고, 아니라면...


  • Tomcat HTTP Connector 역할과 속성

    커넥터는 클라이언트와의 통신을 처리합니다. Tomcat에서 사용할 수있는 여러 커넥터가 있습니다. 여기에는 특히 Tomcat을 독립형 서버로 실행할 때 대부분의 HTTP 트래픽에 사용되는 HTTP 커넥터와 Tomcat을 Apache HTTPD 서버와 같은 웹 서버에 연결할 때 사용되는 AJP 프로토콜을 구현하는 AJP 커넥터가 있습니다. HTTP Connector는 HTTP/1.1 프로토콜을 지원하는 커넥터입니다. Connector는 서버의 특정 TCP 포트...


  • 스프링 세션 동작 원리 - 스프링 세션 어떻게 동작하는 것인가?

    Spring-Session을 사용하면 외부 저장 매체(mysql, Redis 등)를 이용해서 여러 서버의 Session을 쉽게 동기화 할 수 있습니다. 실제로 Session 동기화 기능이 있는 컨테이너를 사용하려면 막대한 비용이 들기도 하고 구성하기가 쉽지도 않습니다. 특정 컨테이너 기술에 의존하게 되는 것도 문제입니다. Tomcat 2개로 서비스를 운영하다가 제우스에 서비스를 추가로 올려서 사용할 수 없다는 의미입니다. Spring-Session의...


  • SpringSecurity FilterChain이 만들어지는 과정 살펴보기

    Spring Security는 표준 서블릿 필터를 기반으로합니다. 내부적으로 서블릿 또는 다른 서블릿 기반 프레임 워크 (예 : Spring MVC)를 사용하지 않으므로 특정 웹 기술과은 의존성은 없습니다. HttpServletRequest와 HttpServletResponse를 사용하고, 브라우저, 웹 서비스 클라이언트, HttpInvoker 또는 AJAX 애플리케이션에서 등 어떤 종류의 클라이언트던지 상관없이 동작합니다. 스프링 시큐리티는 서비스 설정(Configuration)에 따라 필터를 내부적으로 구성합니다....


  • JPA 물리적인 테이블과 컬럼 이름 전략을 스프링부트와 똑같이 하고 싶다면

    스프링부트를 사용하지 않는데 스프링부트에서 사용하고 있는 기본 물리적 이름 전략을 사용하고 싶다면 어떻게 해야할까? 좀 뭐랄까 몰래 베끼는 느낌이지만 스프링부트의 코드를 그대로 카피해서 자신의 패키지에 담아주면 간단하게 가능합니다. 그래도 소스에 출처 정보는 남기는 것이 좋지 않을까요? public class PhysicalNamingStrategy implements org.hibernate.boot.model.naming.PhysicalNamingStrategy { @Override public Identifier toPhysicalCatalogName(Identifier name, JdbcEnvironment jdbcEnvironment) {...