728x90
SESSION이란?
Web/SESSION 2022. 6. 18. 19:03

SESSION 이란? 사용자가 웹 브라우저를 통해 웹 서버에 접속을 기준으로 종료할 때 까지, 같은 사용자로부터 오는 요청을 하나의 상태로 보고, 그 상태를 일정하게 유지하는 기술 위의 말을 풀어서 보면 웹 사이트에서 여러 페이지에 걸쳐 사용되는 사용자의 정보를 저장하는 방법 사용자가 브라우저를 닫아 서버와의 연결을 끝내는 시점까지가 SESSION이다. SESSION 과 같이 나오는 것으로 COOKIE가 있는데 둘은 비슷하지만 차이점이 존재한다. COOKIE와의 차이점 COOKIE는 클라이언트 측의 컴퓨터에 모든 데이터를 저장한다. SESSION은 사이트가 돌아가는 서버에 데이터를 저장하고, 키 값을 클라이언트 측에 남겨준다. 브라우저에서 필요할 때 마다 키 값을 사용하여 서버에 저장된 데이터를 사용한다..

CORS란?
Web/CORS 2022. 6. 12. 20:19

CORS란? CORS(Cross-Origin Resource Sharing)는 교차 출처 리소스 공유라는 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제 즉, 브라우저에서 보안적인 이유로 cross-origin HTTP 요청들을 제한하는 것 cross-origin 요청을 하려면 서버의 동의가 필요함. 서버가 동의한다면 브라우저에서는 요청을 허락, 동의하지 않는다면 거절 이런 허락과 거절은 http header 를 이용해서 가능하다. 이를 CORS(Cross-Origin Resource Sharing)라고 부른다. cross-origin 다음 중 같은 것이 없을 때의 경우 1.프로토콜 예) http or https 2.도메인 예) naver..

HTTPS란?
Web/HTTPS 2022. 6. 11. 17:06

HTTPS란? HyperText Transfer Protocol Secure의 약자 HTTP 프로토콜의 보안 버전 인터넷 상에서 정보를 암호화 하는 SSL(Secure Socket Layer)프로토콜을 사용하여 웹 브라우저와 서버가 데이터를 주고받는 통신 규약 어떻게? 기존의 HTTP 프로토콜은 TCP 위에서 동작을 한다. 여기서 SSL이 올라가 있다. SSL 암호화 통신은 공개키 암호화 방식이라는 알고리즘으로 구현이 된다. 공개키 암호화 방식 사용자들은 항상 공개키와 개인키를 가지고 있다. 개인키로 암호화 한 정보는 그 쌍이 되는 공개키로만 복호화가 가능하고, 공개키로 암호화 한 정보는 그 쌍이되는 개인키로만 복호화가 가능하다. 쉽게 말해서 공개키로 암호화 된 데이터를 자신이 가진 개인 키로 열어서 볼..

JWT(2) Spring Boot + JWT 회원가입 및 로그인 예제
API/인증 2022. 6. 9. 11:12

출처 : https://webfirewood.tistory.com/115 SPRING SECURITY + JWT 회원가입, 로그인 기능 구현 이전에 서블릿 보안과 관련된 포스트(링크)를 작성했던 적이 있습니다. 서블릿 기반의 웹 애플리케이션에서 인증과 인가 과정을 간단하게 설명했습니다. 스프링에서는 마찬가지로 이런 인증과 webfirewood.tistory.com 이 블로그 예제를 사용했다. Project 생성 Spring Boot 버전은 2.7.0 아래와 같이 dependency 추가 해준다. plugins { id 'org.springframework.boot' version '2.7.0' id 'io.spring.dependency-management' version '1.0.11.RELEASE' ..

JWT(1)
API/인증 2022. 6. 9. 10:33

JWT 란? JSON WEB TOKEN JWT는 정보를 JSON으로 안전하게 전송하기 위한 토큰. JWT는 HMAC알고리즘 과 RSA, ECDSA(타원곡선 디지털 서명 알고리즘) 을 사용한다. 언제 사용? 권한 부여 : 사용자가 홈페이지에 로그인 했을 때 JWT를 반환하며 해당 유저에 대한 권한을 반환한다. 정보 교환 : public/private key 쌍을 사용하여 JWT에 서명할 수 있기 때문에 발신자가 누구인지 확인할 수 있고 header 와 payload를 사용하여 서명을 하므로 콘텐츠가 변조되지 않았는지 확인 할 수 있다. JWT 구조 JWT는 점(.)으로 구분된 세 부분으로 구성된다. 1.header 2.payload 3.signature 따라서 구조는 다음과 같다. xxxx.yyyy.zzz..

CentOS7 + Kafka
메시지 브로커/Kafka 2022. 6. 5. 21:20

사용중인 환경 OS : macOS Monterey 12.4 Docker 에 CentOS7 설치 후 Kafka 를 적용해보겠다. CentOS7 pull docker pull centos:7.9.2009 docker run --name mycent -i -t centos:7.9.2009 /bin/bash ## 컨테이너 접속 docker exec -it mycent /bin/bashApache Kafka 홈페이지 접속 후 kafka 다운로드 # 원하는 경로에서 wget https://dlcdn.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz tar -xvf kafka_2.13-3.2.0.tgz # 필수 아님 mv kafka_2.13-3.2.0.tgz kafkaKafka 실행 cd..

Redis란
캐싱/Redis 2022. 6. 5. 20:02

Redis Redis란? Remote Dictionary Server의 약자 1.인메모리 데이터스토어 2.key, value 사용 3.캐싱, 세션관리, 게임, 리더보드, 실시간 분석, 지형 공간, 라이드 헤일링, 채팅/메시징, 미디어 스트리밍 및 게시/구독 앱에서 주로 사용됨. 장점 1.성능 Redis의 데이터는 메모리에 상주하기때문에 데이터 액세스의 대기 시간을 낮추고 처리량을 높인다. 인 메모리 데이터 스토어에는 디스크로의 이동이 필요하지 않기 때문에 엔진 대기 시간이 매우 줄어든다. 2.유연한 데이터 구조 Redis와 비슷한 Memecached는 데이터 형식으로 String만 지원한다. 그에 반해 Redis는 다양한 데이터 구조를 지원한다. Redis 데이터 형식 -String -List -Sets..

Docker EFK Stack 설치 및 적용
검색엔진/Elasticsearch 2022. 5. 17. 15:05

EFK stack을 Docker로 띄워보겠다. 아직 docker 도 잘 모르고 compose 작성 법도 잘 몰라 블로그를 돌아다니며 이것저것 적용시켜보며 만든 efk 이다. OS : Window 10 Version : elasticsearch 7.15.0 , kibana 7.15.0, fluentd 0.12-debian tool : vs code 폴더 생성 ek-compose라는 폴더를 만들어준다. 해당 파일의 경로로 이동하여 docker-compose.yml 파일을 생성 후 작성해준다. ek-compose 구조 일단 폴더만 생성 해놓는다. docker-compose 시 필요한 파일 작성 docker-compose.yml version: '2' # version 별로 넣을 수 있는 옵션? 이 다른거 같다..

728x90