분류 전체보기340 [JWT] JWT(JSON Web Token)의 저장 위치 비교 JWT(JSON Web Token)는 JSON 형태의 토큰으로 클라이언트가 서버에 자원을 요청할 때 요청과 함께 전달하여 요청 권한을 증명할 수 있다. 서버가 토큰을 발급해주면, 브라우저에서 클라이언트/서버 간에 토큰을 전달하는 방식은 크게 두 가지로 나뉜다. 1. HTML5 Web Storage(LocalStorage 또는 SessionStorage) 2. Cookie HTML5 Web Storage Cookie의 단점 웹 브라우저에서 쿠키의 저장 한도는 약 4KB로 제한된다. 쿠키는 모든 HTTP 요청과 함께 전송되므로 웹 애플리케이션 성능이 저하된다. HTML5 Web Storage란 무엇인가? 사용자가 key/value 쌍의 형태로 데이터를 유지할 수 있도록하는 간단한 클라이언트 측 데이터베이스이.. 2021. 8. 22. [JWT] JWT(JSON Web Token) 설명 및 구조 JWT이란? JWT(JSON Web Token)은 정보 수신/송신자 간에 정보를 JSON 객체로 안전하게 전송하기 위한 간결하고 Self-contained한 방법을 정의하는 개방형표준(RFC 7519)이다. 이 정보는 디지털 서명되어 있으므로 확인 및 신뢰가 가능하다. JWT는 Secret( HMAC 알고리즘 사용)을 사용 하거나 RSA 또는 ECDSA를 사용하는 공개/개인 키 쌍을 사용하여 서명할 수 있다. JWT를 암호화하여 수신/송신자 간에 기밀도 제공할 수 있지만, 서명된 토큰에 초점을 맞출 것이다. 서명된 토큰은 해당 토큰에 포함된 클레임의 무결성을 확인할 수 있는 반면, 암호화된 토큰은 다른 당사자로부터 해당 클레임을 숨길 수 있다. 공용/개인 키 쌍을 사용하여 토큰에 서명할 때 서명은 개인 .. 2021. 8. 21. [JWT] 서버 기반 인증 vs 토큰 기반 인증 서버 기반 인증 서버 기반 인증 시스템의 흐름 기존의 인증 시스템에서는 서버측에서 유저들의 정보를 기억하고 있어야 한다. 유저들의 정보를 기억하기 위해서 세션을 이용하는데, 이 세션을 유지하기 위해서는 메모리/디스크/데이터베이스 시스템과 같은 여러가지 방법을 이용했다. 서버 기반 인증 시스템의 흐름을 보자면 다음과 같다. 이런 방식의 인증 시스템은 아직도 많이 사용되고 있다. 하지만, 서버 기반 인증 시스템은 아래와 같은 문제를 가진다. 서버 기반 인증의 문제점 세션 유저가 인증을 할 때, 서버 측에 이러한 정보를 저장해야 하며, 이를 세션이라고 부른다. 대부분의 경우엔 메모리에 이를 저장하나 로그인 중인 유저의 수가 늘어난다면, 서버 측 메모리가 과부화가 올 것이다. 이를 피하기 위해 데이터베이스를 이.. 2021. 8. 20. [Database] MongoDB(NoSQL) VS MySQL(SQL) MongoDB와 MySQL의 주요 차이점 MySQL은 Oracle Corporation의 관계형 데이터베이스 관리 시스템(RDBMS)이다. 다른 관계형 시스템과 마찬가지로 MySQL은 테이블에 데이터를 저장하고 데이터베이스 액세스를 위해 구조화된 쿼리 언어(SQL)를 사용한다. MySQL 개발자는 애플리케이션의 데이터에 액세스해야 할 때 JOIN이라는 프로세스에서 여러 테이블의 데이터를 병합한다. MySQL에서는 데이터베이스 스키마를 미리 정의하고 테이블의 필드 간의 관계를 제어하는 규칙을 설정한다. MongoDB는 데이터를 JSON과 유사한 문서롤 저장하는 NoSQL 데이터베이스이다. 문서는 관련 정보를 함께 저장하고 액세스를 위해 MongoDB 쿼리 언어(MQL)을 사용한다. 필드는 문서마다 다를 수.. 2021. 8. 20. [JMeter+InfluxDB v2.0+Grafana] Grafana JMeter Load Test Dashboard JMeter InfluxDB v2.0 listener plugin JMeter로 Load Test를 진행하고, Backend Listener로 JMeter InfluxDB v2.0 listener plugin을 이용해 InfluxDB에서 테스트 결과 데이터를 받는다. 결과 모니터를 위해서 Overall Throughput, Average Response Times, Latency, Sent Bytes per Request 등과 같은 결과를 보여주는 Grafana Dashboard도 제공한다. JMeter Load Test (org.md.jmeter.influxdb2.visualizer) - influxdb v2.0 (Flux) dashboard for Grafana This dashboard shows .. 2021. 8. 17. [InfluxDB + Grafana] System Metric Information Monitoring2 Telegraf + InfluxDB 연결하기는 이전 글 참고하기 [Telegraf + InfluxDB] System Metric Information Monitoring1 서버에 있는 CPU/Memory/Disk 등과 같은 System Metric 정보를 모니터링하고자 한다. Telegraf를 이용해 서버의 각종 System 정보를 InfluxDB에 저장시켜 최종적으로 Grafana를 이용해 그래프 형태로 볼 수 있다... doqtqu.tistory.com Grafana 데이터를 시각화 하는데 가장 최적화된 대시보드를 제공해주는 오픈소스 툴킷으로, 주로 시계열 데이터베이스(Prometheus, Graphite, OpeneTSDB, InfluxDB)를 데이터소스로 사용한다. 시계열 데이터베이스 이외에도, .. 2021. 8. 10. 이전 1 ··· 13 14 15 16 17 18 19 ··· 57 다음 반응형