일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 프로젝트 클린
- it
- 설정
- 추천 사이트
- 함수 인자값 id
- 추천 프로그램
- js
- 비밀번호 변경 명령어
- 개발시작전 자세
- 시퀀스 조회
- Java
- JSON
- 타임리프와 스프링
- 명령어
- 타임리프
- cmd
- Intellij
- 자바스크립트 인라인
- 하모니카 OS 5
- 스프링부트
- select
- 순서 보장
- 룸북
- StringUtils.hasText
- 다른사람 프로젝트 수정전 가져야할 자세
- BindingResult
- linux
- Test 룸북 사용하기
- 리눅스
- #{..}
- Today
- Total
웹개발 블로그
클라이언트와 서버 그리고 대리자(프록시) 본문
클라이언트 : 의뢰인, 서버에 필요한것을 요청
서버 : 서비스나 상품을 제공하는 사람 혹은 물건, 클라이언트의 요청 처리
@직접호출
클라이언트 -----> 서버
프록시 : 대리자
@간접호출
클라이언트 ----> 프록시(대리자) ----> 서버
=> 클라이언트의 요청한 결과를 서버에 직접 요청하는 것이 아닌 어떤 대리자를 통해서 대신 간접적으로 서버에 요청할 수 있다. 예) 직접 마트에서 장볼 수 있지만, 누군가에게 대신 부탁도 가능하잖아?
@프록시 기능
1. 접근제어
- 권한에 따른 접근 차단
- 캐시 : 한번 조회하면 변하지 않는 데이터라면 어딘가에 보관해두고 이미 조회한 데이터를 사용하는 것이 성능상좋다.
- 지연로딩
2. 부가기능 추가
- 원래 서버가 제공하는 기능에 더해서 부가기능을 수행한다.
ex) 요청 값 혹은 응답 값을 중간에 변형한다.
ex) 실행 시간을 측정해서 추가 로그를 남긴다.
3. 프록시 체인
@사용법
서버와 프록시는 같은 인터페이스를 사용해야한다.
왜? 클라이언트->서버 이렇게 짜놓은 로직을 클->대리자->서로 수정하기 위해서는 클라이언트 코드를 변경하지 않고 동작할 수 있어야하기 때문이다.
@분리(둘다 프록시 사용하는것은 같다, 패턴을 만든 의도가 중요하다. 의도에 따라 패턴을 구분한다.)
1. 프록시패턴 : 캐시를 통한 접근제어라 부름
- 의도 : 다른 개체에 대한 접근을 제어하기 위해 대리자를 제공
2. 데코레이터 패턴 : 프록시로 부가 기능을 추가하는 것을 데코레이터 패턴이라 부름
-의도 : 객체에 추가 책임(기능)을 동적으로 추가하고, 기능 확정을 위한 유연한 대안 제공
'◆ SPRING BOOT > AOP' 카테고리의 다른 글
[AOP] 어드바이스 종류 (0) | 2024.08.13 |
---|---|
[AOP] 간단한 용어 정리 (0) | 2024.08.08 |
[Spring]스프링 AOP 용어 정리 (0) | 2024.05.04 |
[Spring boot] AOP 설정(build.gradle) (0) | 2023.07.17 |
[Spring] 프록시의 주요 기능 (0) | 2023.06.20 |