본문 바로가기

전체 글28

Spring Security의 흐름과 개념 설명 Spring Security스프링 시큐리티는 인증(Authentication), 권한(Authorize) 부여 및 보호 기능을 제공하는 프레임워크이다.스프링 시큐리티는 짜여진 내부 로직을 통해 인증, 권한을 확인에 필요한 기능과 옵션들을 제공한다.인증, 인가인증 : 해당 사용자가 본인이 맞는지를 확인하는 절차인가 : 인증된 사용자가 요청된 자원에 접근가능한가를 결정하는 절차.인증 방식credential 방식 : username, password를 이용하는 방식이중 인증(twofactor 인증) : 사용자가 입력한 개인 정보를 인증 후, 다른 인증 체계(예: 물리적인 카드)를 이용하여 두 가지의 조합으로 인증하는 방식이다.하드웨어 인증 : 자동차 키와 같은 방식→ Spring Security는 creden.. 2024. 8. 11.
Web Server, Apache, Nginx 아직 공부하고 있는 학생이니 틀린 점이 있을 수 있으니 피드백은 대환영 입니다. 목차WebServerApacheNginxApache vs Nginx 1. 웹 서버 (Web server)👉 이해하는 데 도움이 되는 개념! 💡호스트 🖥️ : 웹 서버 소프트웨어가 실행되는 물리적 또는 가상 컴퓨터를 말해요. 웹 서버가 HTTP 요청을 처리하고, 요청된 파일(HTML, CSS, 이미지 등)을 제공하는 역할을 한다면, 호스트는 이 역할을 수행하는 서버, 즉 컴퓨터 자체를 의미합니다. 예) http://localhost:3000호스팅 🌐 : 웹사이트의 파일, 요소 및 콘텐츠를 인터넷 브라우저에게 전달하는 서비스입니다. 사용자가 도메인 명을 입력하면 일련의 과정(DNS)을 통해 웹사이트의 IP 주소로 변환되고.. 2024. 7. 30.
트랜잭션의 전파 방식 목차트랜잭션 전파란?트랜잭션 전파 순서트랜잭션 전파 속성1. 트랜잭션의 전파란?트랜잭션 전파하나의 트랜잭션 내부에 다른 트랜잭션이 있는 경우, 트랜잭션 정책에 따라 어떻게 동작할 지 결정하는 것이다.트랜잭션 내부에 트랜잭션이 존재하는 경우, 트랜잭션 전파 수준에 따라 트랜잭션을 새로 만들 수도 있고, rollback범위도 달라진다.기본값은 REQUIRED이다.트랜잭션은 데이터베이스에서 제공하는 기술이므로 커넥션 객체를 통해 처리한다. 1개의 트랜잭션을 사용한다는 것은 하나의 커넥션 객체를 사용한다는 것이다.→ 외부 트랜잭션내에 내부 트랜잭션이 있는 경우, 둘을 묶어 하나의 트랜잭션이 됩니다. → 스프링에서는 로직에 있는 트랜잭션을 논리 트랜잭션이라는 단위로 생각하고, 논리 트랜잭션들을 묶은 하나의 트랜잭.. 2023. 10. 24.
Layered Architecture 아키텍처(Architecture)란?소프트웨어 시스템의 전체적인 구조와 구성요소들 간의 상호작용을 설계하는 것을 말한다.시스템의 전체적인 동작을 결정하고, 시스템의 품질 성능(성능, 확장성, 유지보수성, 보안 등)에 직접적으로 영향을 미친다.Layered Architecture소프트웨어 개발에서 가장 일반적으로 널리 사용되는 아키텍처이다.소프트웨어 시스템을 관심사 별로 여러 개의 계층으로 분리한 아키텍처를 뜻한다.각 계층은 어플리케이션 내에서 특정 역할과 책임이 있는데, 그들은 자신의 역할에만 집중한다. 중요한 것은 구성 요소간에 관심사가 분리(separation of concerns)되었다는 점이다.추상화된 인터페이스로만 소통한다. 소통은 자신에게 인접한 하위 계층에 요청을 보내는 방식으로 진행된다.단.. 2023. 10. 5.
비연결성과 비상태성 HTTP의 비연결성과 비상태성비연결성(Connectionless): HTTP는 요청과 응답을 한번 주고받으면 바로 연결을 끊어버리는데, 그리고 다음 요청을 하기 위해 다시 연결을 맺어야한다. 이것을 비 연결성이라고 한다.→ 수천명의 유저가 서비스를 사용하더라도, 동시에 처리해야하는 요청이 줄어든다.(한번 요청을 처리하면 연결을 끊어버리고 자원을 절약)비연결성의 한계TCP/IP연결을 계속 새롭게 맺어줘야한다.(3-way handshake 시간 추가)웹 브라우저로 사이트를 요청하면 HTML를 비롯한 수많은 자원들을 불필요하게 계속해서 다운로드 해야한다. ⇒ 현재는 HTTP 지속연결(Persistent Connections)로 문제점을 해결→ HTTP 지속 연결 웹 페이지에 필요한 자원들인 HTML, 자바스크.. 2023. 9. 30.
쿠키와 세션 쿠키(Cookie)쿠키란?사용자가 임의의 웹사이트를 방문할 경우 웹브라우저를 통해 사용자의 컴퓨터에 저장되는 작은 기록파일을 말한다.상태를 저장하기 위해 사용사용자에 의해 HTTP요청이 발생하면 웹브라우저는 쿠키를 웹사이트에 같이 전송해준다.    2. 쿠키는 어디에 저장되는가?쿠키는 웹사이트를 접속한 사용자의 디바이스(휴대폰, 테블릿, PC 등)에 저장된다.     3. 쿠키의 동작원리→ 쿠키의 동작원리 예시이다.사용자가 자신의 컴퓨터를 이용해 브라우저에 주소를 치면 브라우저에 주소를 입력한다.브라우저는 그 요청받은 주소에 해당하는 웹서버에 데이터를 요청한다.웹서버는 응답헤더에 쿠키를 설정하라는 명령을 내린다.브라우저는 먼저 요청받은 데이터를 사용자에게 전달한다.브라우저는 이후 응답헤더의 Set-Coo.. 2023. 9. 30.