WEB
WebRTC(Web Real-Time Communication)는 웹 브라우저 간에 실시간으로 음성, 영상 및 데이터 통신을 가능하게 하는 오픈 소스이다. Google Meet, Zoom, Facebook Messenger 등 실시간 미디어 스트리밍이 사용되는 어플리케이션에서 많이 사용되고 있으며, 초기 연결에 성공한 이후에는 P2P Connection을 통해 데이터를 주고받는다는 특징이 있다. Web RTC의 특징 P2P (Peer to Peer) 웹 애플리케이션과 사이트가 중앙 서버 없이, 오디오나 영상 미디어 스트림을 교환하고, 임의의 데이터를 교환할 수 있다. 데이터들은 중앙 서버를 거치지 않기 때문에 빠른 속도가 보장되며, 실시간으로 상호작용 할 수 있다는 특징이다. 브라우저 호환성 Chrome..
우리는 흔히 웹, 키오스크, 모바일 등에서 결제 시스템을 이용하게 된다. 결제 프로세스에 적용을 위한 개념과 간단한 세팅 하는 것을 다루어보려고 한다. 결제 과정 1. 구매자가 구매 상품과 금액에 대해서 결제 요청 2. 판매자는 금액을 PG사에 결제해 줄 것을 요청 3. PG사는 요청받은 정보를 카드사에게 결제 요청 4. 카드사는 구매자의 계좌에서 출금 후 PG사로 전달 5. PG사는 판매자에게 금액을 전달 6. 판매자는 금액 확인 후 구매자에게 상품 제공 더보기 PG (Payment GateWay) 구매자와 판매자 사이에서 안전한 결제를 위한 대행사 KG 이니시스, NHN, KCP 등이 있다. 결제 솔루션의 사용 위에서 살펴본 결제 과정은 매우 복잡하다. PG사들에 따라서 제공하는 모듈이 다르기 때문에..
앞 포스팅에서 세션 방식의 인증과, 성능 개선을 위한 방법들에 대해서 다루어 보았었는데 이번에는 언급했던 토큰 인증 방식에 대해서 알아보려고 한다. 토큰 인증 세션 인증 방식과 달리 인증이 완료되었을 시 인증 정보를 서버에 저장하는 것이 아니라 클라이언트에 저장하는 것이다. 인증을 완료하면 서버는 인증완료 의미의 토큰을 클라이언트에게 부여한다 클라이언트는 API 요청 시, 토큰을 HTTP 헤더에 붙여서 보내게 되며 서버는 토큰을 바탕으로 인가처리를 한다. 토큰은 암호화되어 클라이언트에 저장된다. 웹 이외에 쿠키와 세션을 이용할 수 없는 Application에서의 인증을 구현하기에도 유리하다. 토큰은 일반적으로 유효 시간(Expired Time)을 설정하여 발급하여 기간이 지날 시 사용할 수 없게 된다. ..
쿠키 & 세션 방식의 한계 웹 Application 서버측에 저장한다는 것은 서버 메모리에 인증 정보를 저장한다는 것. 세션은 사용자의 인증 정보를 서버에 저장한다. 서버의 과부하 유발. 특히 동시 사용자가 많아질수록 서버의 메모리를 비례하여 사용하게 된다. 그렇다면 쿠키와 세션 사용 방식을 보완해보도록 하자. 1. 인증 서버의 메모리 증설 (Scale Up) 가장 단순하고도 확실한 방법이다. 메모리가 부족하면 메모리를 늘리면 된다. 물리적으로 서버 컴퓨터의 RAM을 업그레이드 시켜서 해결 그렇지만 물리적으로 성능을 높이는 데에는 한계가 있고, 사용자가 더 많아질수록 한계가 명확하다. 이러한 방법을 Scale-Up, 수직 스케일 방식이라고 부른다. 2. 인증 서버의 수 증가 (Scale Out) 인증 서..
인증과 인가 우리가 웹 서비스를 사용하다 보면 흔히 보이는 것이 로그인이다. 로그인을 해야 해당 웹 서비스를 사용 가능한 경우가 많다. 로그인을 만들어둔 이유가 무엇일까? 우리가 허용한 사람들에 한해서만 서비스를 이용할 수 있게 하기 위해서이다. 개발자들은 이러한 일련의 과정을 위해 인증과 인가의 개념을 도입하여 어플리케이션에 도입한다. 인증 (Authentication) ID와 비밀번호로 로그인 하여 신분증을 받는 과정 인증은 클라이언트가 누구인지를 확인하는 과정이다. 웹 같은 경우에는 보통 아이디와 비밀번호, 혹은 그 외의 사용자에게 요구하는 정보를 통해 인증 과정을 거치며, 사용자가 아니더라도 어떠한 장치나 클라이언트 프로그램을 Key 등을 이용하여 사용자 주체를 판단하는 과정을 통틀어서 인증이라고..
아래의 문구는 갓 웹개발을 입문했을 때 나를 아주아주아주 괴롭혔던 친구이다. 아마 웹 개발자라면 이녀석과 한바탕 싸운 기억이 한번쯤은 있을 것이다. Access to XMLHttpRequest at 'http://localhost:3000/tokens/phone' from origin 'http://127.0.0.1:5500' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header has a value 'http://127.0.0.1:5510' that is not equal to the supplied origi..