[C#/dotnet] 권한 부여 (Authorize)
·
C#
참조  - https://learn.microsoft.com/ko-kr/aspnet/core/security/authorization/simple?view=aspnetcore-8.0  [Authorize] 어트리뷰트  - 대상에 대한 액세스를 인증된 사용자만 가능하도록 제한하는 어트리뷰트  - 인증되지 않은 사용자가 접근하는 경우 → 401 Unauthorized 반환  - 인증되었지만, 권한이 없는 사용자가 접근하는 경우 → 403 Forbidden 반환 # 컨트롤러에 대한 액세스를 인증된 사용자로 제한하기// AccountController 내부의 Login(), Logout() 둘 다 인증된 사용자만 액세스 가능[Authorize]public class AccountController : Contr..
[CS] 캐싱 전략
·
CS
캐싱 (Caching)  - 자주 사용하는 데이터를 미리 저장해 두고, 필요할 때 빠르게 가져와서 사용하는 기술  [장점]     i. (적절하게 사용할 경우) 성능 향상     ii. 리소스 절약        : 네트워크 트래픽 감소 & 데이터베이스 부하 감소     iii. 지연 시간 응답 → 사용자 경험 개선  [고려사항]     i. 캐시된 데이터와 원본 데이터 간 불일치가 발생할 수 있음     ii. 유효성 관리 방법        · TTL로 데이터 갱신 or 수동으로 캐시 무효화     iii. 불필요한 캐싱은 메모리 낭비로 이어질 수 있음     iv. 캐싱 처리를 하는 게 적합한 상황인지 판단해야 함        · 읽기 작업이 많은 경우 캐싱이 유용함        · 쓰기 작업이 많은 ..
[CS] 인증 (Authentication)
·
CS
인증 (Authentication)  - 클라이언트가 서버에 접근하기 전에 본인임을 증명하는 과정  - API는 요청을 보낸 사용자가 누구인지 확인하고, 해당 사용자가 허가된 요청만 수행할 수 있도록 제어함  # API Key  - 클라이언트가 요청 헤더 또는 URL에 고유한 키를 포함하여 요청을 보내는 방식 # 기본 인증 (Basic Authentication)  - 사용자 이름과 비밀번호를 Base64로 인코딩하여 요청 헤더에 포함해서 보내는 방식 # 쿠키 기반 인증 (Cookie-Based Authentication)  - 브라우저에서 쿠키를 사용하여 인증 정보를 저장하고, 이후 모든 요청에 자동으로 쿠키를 포함시켜 보내는 방식  - Stateful (상태 유지)     : 서버가 클라이언트의 세션..
[CS] API (Application Programming Interface)
·
CS
API (Application Programming Interface)  - 소프트웨어 구성 요소들이 서로 통신하고 상호작용할 수 있게 하는 메커니즘  - 다른 시스템, 애플리케이션, 서비스 등을 활용/통합하기 위한 다리 역할  - 통신 규칙 정의     : 클라이언트와 서버가 어떻게 데이터를 교환할지를 정의함        → 규칙을 따르지 않으면 통신이 불가능함  - 추상화 제공     : 내부 구현 방식을 숨기고, 필요한 기능만 노출함        → 내부 작동 방식을 이해하지 못하더라도 기능을 활용할 수 있음  - 재사용성     : 동일한 기능을 처음부터 구현할 필요 없이, 만들어져 있는 API를 활용할 수 있음  - 플랫폼 간 연동     : 다른 서비스와의 통합 용이  - 확장 가능성     ..
[CS] 브라우저 (Browser)
·
CS
브라우저 (Browser)  - 사용자가 웹을 통해 인터넷 상의 정보에 접근할 수 있도록 하는 소프트웨어  - HTML, CSS, JavaScript를 해석하여 웹페이지를 렌더링함  - 사용자와 웹 서버 간의 게이트웨이 역할     · 사용자가 입력한 요청을 HTTP 프로토콜을 통해 서버로 전달함     · 서버에서 반환된 응답을 해석하여 화면에 표시함  # 주요 구성 요소1) 사용자 인터페이스 (UI, User Interface)   - 브라우저 화면에서 사용자와 상호작용하는 영역   - 사용자의 입력을 받아 다른 구성요소와 연결함   ex) 주소 입력창, 북마크, 뒤로가기 버튼 등 2) 렌더링 엔진 (Rendering Enging)   - HTML, CSS, JavaScript를 해석하고 웹페이지를 ..