네트워크, 통신(20)
-
CDN
CDN이란 CDN의 개념 CDN은 Content Delivery Network의 약어로, 전 세계에 분산되어 있는 서버 네트워크입니다. CDN은 사용자가 리소스를 다운로드 할 수 있는 대체 서버 노드를 제공하여 동작합니다. 이러한 노드는 전 세계에 퍼져있기 때문에 지연 시간 감소로 인해 컨텐츠의 빠른 응답과 다운로드 시간을 제공함으로써 사용자에게 더 가까운 전략적 이점을 제공합니다. CDN의 장점 웹 사이트 로딩 속도 개선 인터넷 회선 비용 절감 컨텐츠 제공의 안정성 웹 사이트 보안 개선 CDN의 작동 원리 최초 요청은 서버로부터 컨텐츠를 가져와 고객에게 전송하며 동시에 CDN 캐싱 장비에 저장합니다. 두 번재 이후 모든 요청은 CDN 업체에서 지정하는 해당 컨텐츠 만료 시점까지 CDN 캐싱 장비에 저장..
2021.04.08 -
Sticky Session
Sticky Session이 나오게 된 배경 일반적으로 대용량 트래픽을 장애 없이 처리하기위해 여러 대의 서버에 적절히 트래픽을 분배하는 로드 밸런서를 사용합니다. 그림으로 살펴보면 아래와 같은 상태로 서버가 구성되어 있을 수도 있습니다. 이렇게 로드 밸런싱이 필요한 서비스에는 세션 관리에 문제가 생길 수도 있습니다. 먼저 로그인 요청을 A 서버로 보냅니다. A 서버의 세션에는 martin이라는 값이 저장됩니다. A 서버에서는 로그인 성공이라는 응답을 보냅니다. 동일한 클라이언트는 로드 밸런서에 새로운 요청을 보냅니다. 그러나 이 요청은 C 서버로 전달됩니다. C 서버의 세션에는 이 사용자가 로그인 한 사용자라는 정보가 없기 때문에, 조회 실패 후 로그인 페이지로 리다이렉트 하도록 응답을 보 냅니다. 위..
2021.03.09 -
STOMP
STOMP의 개념 STOMP(Simple/Stream Text Oriented Messaging Protocol)은 간단한 문자 기반 메시징 프로토콜입니다. STOMP는 TCP나 WebSocker과 같은 신뢰성 있는 양방향 streaming network protocol에 사용될 수 있습니다. STOMP의 특징 기존 AMQP나 MQTT와 같이 binary 기반이 아닌 텍스트를 기반으로 하는 프로토콜 HTTP와 같이 프레임을 사용해 전송하는 프로토콜(프레임이란 주소와 명령, 명령 수행을 위한 데이터가 포함된 데이터를 의미) 기본적으로는 텍스트 기반 통신을 사용하지만 바이너리 기반 통신도 지원 STOMP의 Frame 구조 STOMP Frame은 Header, Command, Body로 구성됩니다. Frame..
2021.03.06 -
User-Agent Header
User-Agent란 User-Agent의 개념 User-Agent 필드는 요청에 기반한 사용자 에이전트에 관한 정보를 포함하고 있는 정보입니다. User-Agent는 상호운용성 문제의 범위를 식별하고, 특정 사용자 에이전트 제한을 피하기 위해 응답을 조정하거나 재단하고, 브라우저나 운영체제 사용에 관한 분석을 위해 서버에 의해 사용됩니다. User-Agent 필드 값은 하나 이상의 제품 식별자로 구성되어 있으며, 각각은 0개 이상의 주석이 있고 사용자 에이전트 소프트웨어와 중요한 하위 제품을 함꼐 식별합니다. 일반적으로 제품 식별자는 사용자 에이전트 소프트웨어를 식별하는 중요성에 대한 내림차순으로 나열되어있습니다. User-Agent의 용도 웹 브라우저의 종류에 따라 다른 웹 페이지를 제공합니다. 운영..
2021.03.03 -
OAuth
OAuth란 OAuth는 다양한 플랫폼 환경에서 권한 부여를 위한 산업 표준 프로토콜입니다. 간단하게 인증(Authentication)과 권한(Authorization)을 획득하는 것으로 볼 수 있습니다. 여기서 인증은 시스템 접근을 확인하는 것이고 권한은 행위의 권리를 검증하는 것입니다. OAuth 1.0 third party Application에 아이디와 비밀번호를 제공하고 싶지 않은 요구로 인해 OAuth가 탄생했습니다. 개인 정보를 여러 곳에 입력하면서 피싱에 둔감해지고 무엇보다 Application이 안전하다는 보장이 없기 때문에 보안에 취약했습니다. OAuth 2.0 OAuth 1.0과 달라진 점 기능의 단순화, 기능과 규모의 확장성 등을 지원하기 위해 만들어졌습니다. https가 필수이기 ..
2020.10.08 -
WebSocket
WebSocket WebSocket이란 웹 서버와 브라우저간 실시간 양방향 통신환경을 제공해주는 통신 기술입니다. 클라이언트와 서버간 양방향으로 원할 때 요청을 보낼 수 있으며 stateless한 HTTP 방식에 비해 오버헤드가 적기 때문에 유용하게 사용할 수 있습니다. WebSocket은 다른 HTTP 요청과 마찬가지로 80번 포트를 통해 웹 서버에 연결합니다. HTTP 프로토콜의 버전은 1.1이지만 다음 헤더의 예에서 볼 수 있듯이, Upgrade 헤더를 사용하여 웹 서버에 요청합니다. GET /... HTTP/1.1 Upgrade: WebSocket Connection: Upgrade이후, 여러 TCP 커넥션을 생성하지 않고 하나의 80번 포트 TCP 커넥션을 이용하여 별도의 헤더 등으로 논리적인 ..
2020.10.07