본문 바로가기

Basic/네트워크

폴링 롱폴링 웹소켓 폴링단점은 폴링은 요청이 수없이 들어가는것 롱폴링 롱폴링의 단점롱폴링은 바로 이러한 폴링의 한계를 보완할 수 있는 기법으로 이 기술을 서버 푸쉬라고 부르기도 한다.서버에서는 커넥션을 물고 기다리고 있으며 이벤트의 업데이트가 있을 경우에 클라이언트로 응답을 보내주는 경우가 될 수 있다. 즉, 특정 이벤트가 일어날 경우에만 커넥션을 끊기 때문에 쓸데 없이 요청을 만들고 끊게 되는 일은 줄일 수 있는 것이다. 커넥션 개수에 따른 서버 메모리의 이슈와 브라우저에서 사용하는 최대 커넥션 개수에 대해서 어떤 영향을 미치게 될지에 대해서 이야기 해볼 수 있는데 이러한 이슈들은 뒷부분에서 다룰 것이고 여기서는 어떻게 롱폴링을 구현할 수 있는지에 대한 내용을 다루도록 하겠다. 롱폴링의 경우 서버에서 커넥션을 물고 있기 ..
프록시에 대한 이해 클라이언트 - 프록시서버(아파치) - 톰캣 현재 클라이언트의 요청이 들어오면 이를 프록시 서버가 요청을 받고 다시 이 중계서버인 프록시 서버가 톰캣에 재요청을 해서 응답을 받고 그 응답을 다시 클라이언트에게 넘겨 주는 구조 클라이언트가 서버로부터 필요한 자원을 프록시 서버에 요청하면 프록시 서버는 클라이언트와의 서버 사이에서 대신 통신을 수행 프록시 서버에는 클라이언트로부터 원격에 요청된 자원들이 캐시(cache)되어 임시로 저장되어 있어 중계자 역할을 할 수 있다. 클라이언트는 자원 재 요청시 원격 서버에 접속할 필요 없이 프록시 서버 내의 정보를 제공 받을 수 있으며, 따라서 데이터 전송시간과 외부 트래픽이 줄어들고 서버 측의 네트워크 병목 현상을 방지 할 수 있다. https://dany-it.ti..
통신, 네트워크, 프로토콜 개념 1. 통신 통신은 쉽게 말해 의사소통하는 것을 뜻한다 2. 네트워크 네트워크(network)는 유 • 무선통신 기술을 이용하여 여러 기기를 하나로 연결한 것으로, 우리말로는 망이라고 번역할 수 있다. 네트워크는 전송 신호에 따라 아날로그망과 디지털망으로 나눌 수 있다. 아날로그망으로는 음성 신호(전화 기능)를 전송하고 디지털망으로는 디지털 데이터를 전송한다. 인터넷은 디지털 데이터(데이터 통신)를 전송하는 대표적인 네트워크(데이터망)이다. 일상생활에서 가장 많이 사용하는 네트워크는 전화망 network이다. 3. 프로토콜 프로토콜은 다른 기기 간에 통신을 하기 위해 정한 약속으로 통신규약이라고도 한다. 컴퓨터를 연결하여 통신할 때도 데이터를 누가 먼저 보낼지,얼마만 한 크기로 보낼지,다 보낸 다음에는 어..
HTTP 프로토콜의 특징(비연결성과 비상태성) 1. 비연결성(Connectionless)과 비상태성(Stateless) HTTP 프로토콜에는 비연결성(Connectionless)과 비상태성(Stateless)라는 특징이 있다. 비연결성은: 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어 버리는 특징이고 비상태성은: 상태가 없다는뜻, 통신이 끝나면 상태를 유지하지 않는 특징이다. HTTP 통신은 요청에 대해 응답 후 연결이 끊기게 되며 과거에 대한 정보를 전혀 담지 않는다. 이 말은 지금 보낼 HTTP 요청은 지난 번에 내 정보를 담아 보냈던 HTTP 요청과 전혀 관계가 없다 는 말이다. 이렇게 모든 사용자의 요청마다 연결과 해제의 과정을 거치면서 연결 상태를 유지하지 않고 연결 해제 후에도 상태 정보를 저장하지 않는다. 그래서 서버의 자원을..
구글로그인
OAuth 2.0 1. OAuth란? - OAuth는 Open Authorization, Open Authentication 뜻으로 오픈 스탠다드 프로토콜을 말하는 데, OAuth 2.0은 다양한 플랫폼 환경에서 권한 부여를 위한 산업 표준 프로토콜이다. - 애플리케이션(페이스북,구글,트위터등- Service Provider)의 유저의 비밀번호를 나의 서비스에 제공 없이 사용자 인증,인가를 할 수 있는 기술 이다. - 또는 제 3의 앱이 자원의 소유자(서비스 이용자)를 대신하여 서비스를 요청할 수 있도록 자원 접 근 권한을 위임하는 방법이다. 2. OAuth라는 기술과 관련 3명의 참여자 - Mine = 나의 서비스 - User = 사용자(나의 서비스를 사용하는자 ) - Their (나의 서비스가 연동하려고 하는 다른 서..
아파치와+톰캣에 SSL 적용방법 0) 설치 환경 ( OS: 우분투18.04, 웹서버 : 아파치2, 톰캣 9.0 ) 1) 아파치 설정(도메인 주소 설정) sudo nano /etc/apache2/sites-available/000-default.conf 명령어로 파일을 열어주고 아래와 같이 도메인을 설정해줬다. ServerName 도메인 이름 추가 ( 예 :ServerName dokky.ga ) 2) letsencrypt 설치 $ sudo apt-get update $ sudo apt-get install letsencrypt 3) 아파치 STOP(나는 이 순서를 생략해도 잘 동작됬다.) $ sudo service apache2 stop SSL 인증서를 받기 위한 명령어를 쳐야 하는데, 이 명령어가 실행될 때 80포트를 사용하기 때문에 ..
TCP/IP 의 개념 1. 서킷 통신이란? 서로 간 연결이 이루어지면 연결이 끊어질 때까지 해당 회선을 온전히 독점하며 사용을 한다. 기술적으로 이러한 연결 방식을 서킷 통신이라고 부른다. 이 통신 방식은 통신을 원하는 양 쪽이 1:1로 연결되어야 한다. 처음부터 양쪽이 연결되어 있거나 중간에 교환소를 거쳐서 연결이 된다. 일단 연결이 된 상태에서는 해당 회선을 완전히 점유하게 된다. 다른 쪽에서 연결을 하고 싶으면 연결이 이미 연결된 곳이 끊어지기 전까지 기다려야 한다. 2. 서킷 통신의 한계점 서킷 통신에는 한계점이 있다. 회선의 단절되버리면 다시 연결을 해야하고, 누군가 선을 이용중이면 기다려야 한다. 이를 해결할려고, 망을 여러 개 만들면 일부 선이 끊어지더라도 다시 연결할 수는 있을 것이다. 하 지만 중간에 연결이 ..