728x90
반응형
728x90
반응형
# 인증 서버가 클라이언트 인증을 확인하는 방법은 3가지가 있다. Cookie Session JWT ## Cookie 쿠키는 Key - Value 구조이다. 쿠키는 클라이언트의 브라우저에 저장된다. 인증 방식 클라이언트는 브라우저를 통해 서버에 요청을 보낸다. 서버는 클라이언트의 요청에 대한 응답을 보낼 때, 클라이언트 측에 저장할 정보를 응답 헤더의 Set-Cookie에 담아 보낸다. 클라이언트는 요청을 보낼 때마다, 저장된 쿠키를 요청 헤더의 Cookie에 담아 보낸다. 서버는 쿠키에 담긴 정보를 바탕으로 클라이언트를 식별한다. 단점 쿠키의 값을 그대로 보내기에 보안에 취약하다. 용량 제한이 있다. 브라우저마다 쿠키에 대한 지원 형태가 다르기에 브라우저간 공유가 불가능하다. 쿠키 사이즈가 클수록 네..
# REST REpresentational State Transfer WWW(World Wide Web)와 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 개발 아키텍처의 한 형식이다. 기존 웹의 기술과 HTTP 프로토콜을 그대로 활용하기에 웹의 장점을 최대한 활용할 수 있는 아키텍처이다. 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 것을 의미한다. 즉, 자원의 표현에 의한 상태 전달이다. HTTP URI를 통해 Resource(자원)를 명시하고 HTTP Method를 통해 해당 자원에 대한 CRUD Operation(상태)을 적용하는 것을 의미한다. Request가 완료되면 Server는 특정 Representation(표현방식)을 Response로 보내준다. 즉, 자원 기반의 구조 설계의 ..
# URL Uniform Resource Locator 웹상에서 자원들의 위치를 의미한다. 즉, 웹 서버의 특정 파일에 접근하기 위한 주소이다. 접근 프로토콜 :// IP 또는 Domain / 문서 경로 http :// naver.com / main [IP] 하나의 컴퓨터에는 하나의 IP 존재, 물리적 호스트 대상 => 아파트 [PORT] 컴퓨터 내에 존재하는 각 서버, 논리적 대상 => 개별 호수 (HTTP 기본 Port : 8080) # URI Uniform Resource Identifier 웹상에서 자원을 식별하기 위한 문자열의 구성이다. URI가 URL 보다 더 큰 개념이고, URL은 URI에 포함된다. http://sample.com/images/dog.jpg 는 URL 이면서 URI 이다. ..
# HTTP HyperText Transfer Protocol HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, Client-Server 간 데이터 통신을 위한 프로토콜이다. ## 특징 TCP/IP를 이용하는 응용 프로토콜이다. TCP/IP : 컴퓨터 사이의 통신 표준 및 네트워크 라우팅, 상호 연결에 대한 규칙을 지정한 프로토콜 TCP : 전송 계층 IP : 인터넷 계층 연결을 유지 하지 않고 요청/응답 방식으로 동작하는 무상태 프로토콜이다. 쿠키 및 세션으로 보완 ## 장점 불특정 다수를 대상으로 하는 서비스에 유리하다. Cilent Server 간 연결을 유지하지 않기에 최대 연결수보다 더 많은 요청과 응답 처리가 가능..
# SOLID 로브터 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계의 5대 기본 원칙이다. ## SRP Single Responsibility Principle : 단일 책임의 원칙 작성된 클래스는 하나의 기능만 가지며, 클래스가 제공하는 모든 서비스는 그 하나의 책임을 수행하는데 집중해야 한다. 즉, 어떤 변화에 의해 클래스를 변경하는 이유는 오직 하나뿐이어야 한다. SRP 원리를 적용하면 책임 영역이 확실해지기 때문에, 다른 책임 변경 시 발생하는 사이드 이팩트로부터 자유로울 수 있다. 또한, 책임을 적절히 분배함으로써 코드의 가독성과 유지보수에도 효과적이다. ## OCP Open Close Principle : 개방 폐쇄의 원칙 소프트웨어의 구성요소(컴포넌트, 클래스, 모듈, 함수..
# 운영체제 시스템의 자원(cpu, memory...)과 동작을 관리하는 소프트웨어 프로세스, 저장장치, 네트워킹, 사용자, 하드웨어를 관리 ## 프로세스 실행 중인 프로그램 프로세스는 메모리와 CPU를 프로세스마다 각각 할당받아 사용한다. 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap)을 할당받는다. 또한, 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없다. ##스레드 프로세스 내부에서 동작되는 여러 실행의 흐름 스레드는 프로세스 내부에서 다른 스레드와 Code, Data, Heap을 공유한다. 각각의 스레드는 별도의 레지스터와 스택을 가지고 있지만, 힙 메모리는 서로 읽고 쓸 수 있다. ## 저장장치 일반적으로 ..