본문 바로가기

Spring27

HTML, HTTP API, CSR, SSR | 김영한MVC1편 정적 리소스는 이전에 다루어 보았다.고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공한다.웹 서버에 기존에 생성되어 있는 파일로 제공 HTML 페이지동적으로 필요한 HTML 파일을 생성해서 전달웹 브라우저: HTML 해석주로 뷰 템플릿 (타임리프, JSP)으로 동적으로 HTML을 생성한다. HTTP APIHTML이 아니라 데이터를 전달주로 JSON 형식 사용다양한 시스템에서 호출데이터만 주고 받음, UI화면이 필요하면, 앞단에서 별도 처리한다.앱 간, 웹 클라이언트 간, 서버 TO 서버최근에는 자바스크립트의 AJAX, FETCH API등을 통해서 서버에 있는 API를 호출한다.WAS 서버가 이 응답을 데이터(JSON)으로 전달하면, 클라이언트는 이 데이터를 포함하여 HTML을 구성하여 유저.. 2024. 9. 24.
동시요청 - 멀티 쓰레드 | 김영한MVC1편 클라이언트가 서버로 요청하면 서버는 응답을 한다. TCP/IP 커넨션 연결을 하며 서블릿을 호출하는데, 서블릿 객체를 누가 호출할까? 쓰레드라는 놈이 있다. 쓰레드애플리케이션 코드를 하나하나 순차적으로 실행하는 것은 쓰레드자바 메인 메서드를 처음 실행하면 main이라면 이름의 쓰레드가 실행쓰레드가 없다면 자바 애플리케이션 실행이 불가능쓰레드는 한번에 하나의 코드 라인만 수행동시 처리가 필요하면 쓰레드를 추가로 생성단일 요청 - 쓰레드 하나 사용 다중 요청 - 쓰레드 하나 사용요청이 오면 쓰레드할당하여 서블릿을 호출한다. 하지만 다중 요청인 경우, 첫번째 요청의 처리가 지연되고 있다면, 두번째 요청은 쓰레드가 현재 첫번째 요청에 대해 할당되어 하나밖에 없기때문에, 계속 대기가 일어난다.. 첫번째 요.. 2024. 9. 24.
서블릿 | 김영한MVC1편 이전 시간에서, 클라이언트가 HTTP 통신으로 서버에게 요청을 하면 서버는 그에 따른 응답을 한다고 알게 됐다. 클라이언트는 HTTP 통신 규약에 맞는 다양한 형식으로 전송한다. HTTP는 단순한 텍스트로 이루어져있는데, 서버는 이것을 어떻게 이해하고 응답을 보내는 것일까 우측이 클라이언트가 요청한 HTTP 메시지이다. 이걸 직접 개발자가 만드려면 우선 메시지를 받을 TCP/IP 연결 대기로직을 짜고, 소켓 연결을 하고,, HTTP 표준에 따라 해당 텍스트들을 자르고, 파싱하고,,,모든 HTTP 텍스트 메시지마다 이것을 처리한다고 하면,,,,, 다행히 서블릿을 지원하는 WAS는 이러한 복잡한 전/후 처리를 자동으로 해결해준다. 따라서 개발자는 해당 url에 따른 처리 알고리즘. 즉 비즈니스 로직만 구현.. 2024. 9. 19.
Web server, WAS(web application server) | 김영한 MVC1편 web은 기본적으로 서버와 클라이언트의 구조를 가진다. 서버는 클라이언트의 요청을 확인하고 이에 맞는 올바론 응답을 전달한다. 그러면 어떻게 서버는 클라이언트가 어떤 요청을 보냈는지, 다양한 요구에 올바르게 응할 수 있을까? HTTP (Hyper Text Transfer Protocol)web은 HTTP통신이라는 것을 통해 서버와 클라이언트들이 서로 통신을 한다. HTTP는 서버와 클라이언트간의 통신 방법이라고 생각하면 된다. HTTP의 요청방식에는 여러가지 형식이 있는데 클라이언트는 이 형식에 맞게끔 요청을 보낼 수 있다. 컴퓨터의 통신에는 정말 많은 종류의 프로토콜이 있지만 웹은 HTTP를 사용하여 통신한다는 점을 기억하자. 모든 것이 HTTP.클라이언트는 HTTP 메시지에 모든 것을 전송할 수 있.. 2024. 9. 19.
스프링 시큐리티를 활용한 OAuth2 인증과정 https://oauth.net/2/ OAuth 2.0 — OAuth OAuth 2.0 OAuth 2.0 is the industry-standard protocol for authorization. OAuth 2.0 focuses on client developer simplicity while providing specific authorization flows for web applications, desktop applications, mobile phones, and living room devices. This oauth.net OAuth2 인증 프로세스 1. 클라이언트 등록 - 애플리케이션 서버는 OAuth2 제공자 설정으로 클라이언트로 등록된다. - OAuth2 제공자의 인증/인가 서버 접.. 2024. 3. 9.
스프링 시큐리티 설정 파일 내부 구성 ver.5.7 이후, WebConfigurerAdapter 사용 안됨 문제 스프링 시큐리티는 5.4버전 이후 기존의 WebConfigurerAdapter를 상속받아 사용하지 않고 SecurityFilterChain Bean 방식으로 사용된다. SecurityFilterChain 기존의 WebSecurityConfigurerAdapter를 사용한 구성 방식에 대한 대안으로 제공되며, Spring Security의 필터 체인을 구성하기 위한 메커니즘이다. public class WebSecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.build(); } } 내부에 들어가는 HttpSecurity객체는 HttpSecurity는 Spring Secur.. 2024. 3. 8.