CS (25) 썸네일형 리스트형 Proxy Proxy란 서버와 서버 사이에서 목적에 따라 특정 서버들을 대신해 여러가지 작업을 수행해줍니다. 프록시 서버는 요청을 가로채서 응답할 수 있으며, 요청만 전달하거나 수정할 수도 있습니다. 다른 다양한 기능을 제공할 수 있습니다. 예를 들면 보안 기능, 로드 밸런싱, 캐싱, 요청/응답 수정 등의 역할을 수행할 수 있습니다. 클라이언트는 프록시를 통해 서버와 통신하므로, 실제 서버에 대한 정보를 감추거나 네트워크 성능을 개선하는 등의 이점을 얻을 수 있습니다. 프록시 서버는 하는 역할에 따라 크게 Forward Proxy와 Reverse Proxy로 나뉩니다. Forward Proxy 클라이언트(일반적으로 내부 네트워크에 위치한)와 인터넷 상의 리소스 사이에서 동작합니다. 실제 목적지 서버로 직접 연결하지.. 페이지 교체 알고리즘 페이지 교체 알고리즘(Page Replacement Algorithm)은 가상 메모리(Virtual Memory) 시스템에서 페이지 부재(Page Fault)가 발생했을 때 어떤 페이지를 메모리에 올릴지 결정하는 알고리즘입니다. 페이지 교체 알고리즘은 제한된 메모리 용량에서 최적의 성능을 내기 위해 페이지 교체를 수행하는 방법을 결정합니다. 아래의 세개 이외에도 여러 페이지 교체 알고리즘이 있습니다. FIFO (First In First Out) 첫번째로 넣은 페이지를 처음으로 꺼내는 알고리즘이다.( 가장 오래된 페이지를 교체하는 방식으로 동작합니다) 구현은 간단하지만, 페이지의 접근 패턴에 따라 성능이 좋지 않을 수 있습니다. LFU (Least Frequently Used) LFU 알고리즘은 참조횟수.. 4XX 대 상태코드 4XX(요청오류) 400(잘못된 요청) 서버가 요청구문을 인식하지 못함 401(인증 실패) 인증필요/ 서버는 로그인이 필요한 페이지에 대해 이 요청을 제공 할수 있다. 402 이 요청은 결제 필요 403 서버가 요청 금지, 사용자가 권한 갖고있지않음(인가실패) 404 NOT Found 405 (허용되지 않은 메소드) post 방식에 get 넣어줌? 408 요청 시간 초과 Layered pattern Layered pattern 은 코드의 구조를 어떻게 구성하고 관리해야하는가에 대한 문제를 위해 코드를 논리적인 부분 혹은 역할에 따라 독립적인 모듈로 구성하는 패턴입니다. 각 모듈이 서로의 의존도에 따라 층층이 연결되어서 전체의 시스템을 구현하는 구조입니다. 즉 역할에 따라 분리되었던 파일은 하나의 layer라고 볼 수 있습니다. Layered 아키텍처의 핵심요소 단방향 의존성 : 각각의 Layer는 자기보다 하위에 있는 레이어에만 의존하고 있음 관심사 분리(SOC) : 각 Layer 별 역할이 구분되어 명확함, 역할의 중첩이 없음 장점 확장성 재사용성 : 코드 구조상의 재사용성은 일반 코드 레벨의 재사용성, 함수나 클래스 재사용하는 수준이 아니라 구조적인 재사용성 유지 보수 가능성 : 함수나 클래스등.. 인터넷 동작원리 두개의 컴퓨터 통신시 유선 OR 무선으로 연결 라우터(router) 복잡해진 네트워크의 문제를 해결하기 위해 각 컴퓨터는 라우터의 연결 라운터 = 특정 컴퓨터에서 보낸 메시지가 올바른 대상 컴퓨터, 즉 의도한 목적지에 도착하는지 확인하는 역할 / 단순히 컴퓨터랑만 연결되는 것이 아닌 라우터와 라우터도 연결이되어 네트워크는 무한한 확장이 가능하다 OSI 7 layer - 네트워크 계층에서 라우터가 사용 TCP/IP- 인터넷 계층에 포함이됨 네트워크 계층이사용 모뎀(modem) & ISP 내부 네트워크를 구축한 후에는 외부 네트워크와 연결해야한다. 즉 집과 다른지역이, 친구와 이웃이 연결될수 있어야한다. 이미 있는 전화시설을 활용하여 컴퓨터 네트워크를 전화시설과 연결하기 위해선 모뎀이라는 장비가 필효한것 모.. HTTP 메시지 Stateless http의 두번째 특징, 상태가 없음 ⇒ 기억력이 없음 각각의 http 통신은 독립적 → 과거의 통신 내용을 전혀 기억하지 못함 해결 방법 : 매 통신마다 필요한 모든 정보를 담아서 요청을 보내야함 예시: 온라인 쇼핑몰에서 로고인 후 장바구니 페이지로 이동하는 등의 연속된 요청과 응답을 통한 데이터 처리가 필요한 경우를 위해 로고인 토큰 또는 브라우저의 쿠키, 세션, 로컬 스토리지 같은 기술이 필요에 의해 만들어 짐 HTTP 메시지 구조 Request메시지 구조 프론트(클라이언트)→백엔드(서버) Start Line - Headers - Body Start Line 요청의 첫번째줄 글의 제목과 같은 역할 HTTP method : 해당 요청이 의도한 액션을 정의하는 부분이며 GET, POS.. RESTful API 통신 규칙 HTTP의 통일성을 위해 만들어진 아키텍처 HTTP프로토콜을 의도에 맞게 디자인하도록 유도하는 권고사항 REST API만으로도 HTTP요청의 내용을 이해할 수 있다. 구성 자원(Resource) 자원: URI 행위(Verb) 자원에 대한 행위 : HTTP 요청 메서드 표현(Representations) ex-JSON, XML 자원에 대한 행위의 구체적 내용 : payload REST 특징 Unifrom interface(인터페이스 일관성) : HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용이가능-특정언어/기술에 종속 X Stateless Cacheable - 캐싱기능 Self - descriptiveness Layered System => 계층형 Server - Client 설계원칙 UR.. CORS 교차 출처 리소스 공유 CORS는 HTTP헤더를 사용하여, 한 출처에서 실행중이 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를때 교차 출처 HTTP 요청을 실행합니다. 예시 : http://domain-a.com의 프론트 엔드 javascript 코드가 XMLHttpRequest를 사용하여 http://domain-b.com/data.json 을 요청하는 경우 보안상의 이유로, 브라우저는 스크립트에서 시작한 교차 출처 HTTP 요청을 제한함 XMLHttpRequest와 Fetch API는 동일 출처 정책을 따름 ⇒ 이 API를 사용하는 웹 애플리케이션은 자신의 출처와 .. 이전 1 2 3 4 다음