기술 정리 & CS 32

[Authentication] JWT Token - Access Token과 Refresh Token

이전 글에서는 JWT 가 무엇인지, 어떤 구조와 특징을 가지고 있는지 알아보았다. https://yubi5050.tistory.com/67 [Authentication] JWT Token , CSRF Token 지난 번엔 Token 시스템에 대한 이해, 장점, 작동 방식 등에 대해 이해해 보았다. 이번 글에서는 Token 시스템에서 주로 활용되는 JWT(Json Web Token), CSRF(Cross Site Request Forgery)에 대해 내용을 작성해.. yubi5050.tistory.com 이번에는 JWT의 Access Token과 Refresh Token에 대해 좀더 알아보고 왜 필요한지에 대해 적어보았다. Access Token, Refresh Token 이란? Access Token :..

[Web 기본] HTTP 메소드 (+ PRG 패턴)

HTTP 메소드 종류 📁 GET 서버로부터 데이터를 요청(GET)하는 메소드 GET은 요청을 전송시 필요 데이터를 Body 대신, 쿼리스트링을 통해 전송함 📁 POST 데이터를 생성(등록)하는 요청에 주로 사용되는 메소드 📁 PUT 데이터 리소스를 대체, 해당 리소스 없으면 생성. 쉽게 말해 데이터를 덮어씀 📁 PATCH PUT 과 유사하게 리소스 수정시 사용. 다른점은 PATCH는 데이터 리소스 일부분만 변경 가능 📁 DELETE 삭제 요청을 보낼 때 사용되는 메소드 📁 기타 메소드 4가지 HEAD: GET과 유사, 메시지 부분을 제외하고 상태 줄과 헤더만 반환 OPTIONS: 대상 리소스에 대한 통신 가능 옵션 설명 (주로 CORS에서 사용) CONNECT: 대상 자원으로 식별되는 서버에 대한 터널을..

[Web 기본] HTTP 상태 코드 정리

HTTP 응답 코드 1xx(정보) : 요청을 받았으며 프로세스를 계속 진행합니다. 2xx(성공) : 요청을 성공적으로 받았으며 인식했고 수용하였습니다. 3xx(리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요합니다. 4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없습니다. 5xx(서버 오류) : 서버가 명백히 유효한 요청에 대한 충족을 실패했습니다. 1XX : Information responses 상태코드 요약 의미 100 Continue 진행중임을 의미 101 Switching Protocol 서버에서 프로토콜 변경할 것임을 알려줌 102 Processing 서버가 요청을 수신 후 처리 중 이란 뜻 2XX : Successful responses 상태코드 요약 의미 ..

[Cron] 작업 스케쥴러 (Cron, CronTab, CronJob)

Cron & CronTab 이란? Cron이란 유닉스 계열에서 시간 기반 Job Scheduler로 주기적인 시간 or 날짜 마다 실행 하는 것 윈도우에서는 작업 스케쥴러라는 명칭을 많이 씀 🎈 Cron 주어진 스케줄 마다 쉘 명령어를 실행하는 주체 cron : the name of the tool 🎈 CronTab cron 데몬들에 대한 명령어들이 보관된 작업 목록(+Cron 작업에 대한 설정)을 의미 crontab is generally the file that lists the jobs 🎈 CronJob 크론이 실행되어 크론 탭에 쌓이면, 그러한 행위들을 크론잡 cron will be executing, and those jobs are cronjobs. 실행 방법 1. Linux 자체 Cron 이..

[UUID] UUID 란? (with. Python, JS)

📌 UUID 란? UUID (Universally Unique IDentifier)로 범용 고유 식별자를 의미한다. 주로 분산 시스템 환경에서 각기 다른 시스템(저장소)들이 가지는 기본 key번호가 충돌 날 수 있으니, 유일성을 보장하기 위해 UUID가 등장하였다. UUID는 32자리 ( 8 - 4 - 4 - 4 -12 )의 16진수로 표현되며, 하이푼을 넣어 5개의 그룹으로 구분 되며, 경우의 수가 어마무시해, 중복될 확률이 매우매우 낮다 # 예시 코드 ex) 37f9e500-13ab-599a-3c1a-4412f50900ab 📌 UUID 버전 종류 UUID v1 : 타임스탬프 (시간) 기준 UUID v3 : MD5 해시 기준 UUID v4 : 랜덤값 기반 UUID v5 : SHA-1 해시 기준 일반적으..

[단축키] VSCode 단축키

👉 VSCode IDE 에서 코딩에 유용한 단축키 단축키 용도 Ctrl + Alt + 화살표 위아래 : 멀티커서, if 문 한번에 Ctrl + F2 같은 단어 다 선택 Ctrl + F2 + 화살표 하나 + (Ctrl + c) 여러 라인 복사 Ctrl + 방향키 단어 단위 이동 Ctrl + Shift + 화살표 단어 블록 선택 Alt + Click 여러 단어 잡기 Alt + z 화면에 맞게 개행 Ctrl + n 새 파일 생성 👉 기타 단축키 단축키 용도 window + . 이모지

[외부 API] Daum 주소 찾기 API

👉 다음 주소 aAPI 찾기 회원가입 구현 중 주소를 넣게 될 경우 daum에서 무료료 제공하는 '우편번호 검색 서비스' 를 이용 할 수 있다. 가이드 문서 링크는 아래와 같다. https://postcode.map.daum.net/guide Daum 우편번호 서비스 우편번호 검색과 도로명 주소 입력 기능을 너무 간단하게 적용할 수 있는 방법. Daum 우편번호 서비스를 이용해보세요. 어느 사이트에서나 무료로 제약없이 사용 가능하답니다. postcode.map.daum.net 👉 예제 코드 Daum 주소 찾기 API는 서버기반 환경에서 실행해줘야 아래 코드가 돌아간다.

[Authentication] JWT Token , CSRF Token

지난 번엔 Token 시스템에 대한 이해, 장점, 작동 방식 등에 대해 이해해 보았다. 이번 글에서는 Token 시스템에서 주로 활용되는 JWT(Json Web Token), CSRF(Cross Site Request Forgery)에 대해 내용을 작성해 보려 한다. JWT(Json Web Tokens) 란? 클라이언트와 서버 간의 유저의 정보를 담은 Json 데이터를 암호화 해서 보낼 때, HTTP 헤더에 JSON 토큰을 넣어 전달하는 방식. 서버는 별도의 인증 과정 없이 헤더에 포함되어 있는 JWT Token 정보로 인증함. JWT의 구조 구조는 Header, Payload, Signature 세 부분으로 구성되며, Signuature 부분만 암호화 되어 전송. Header : 토큰의 타입과 해시 암..

[Authentication] Token 기반 시스템이란?

👉 토큰 기반 시스템 이란? 토큰 기반 인증이란 유저에게 유저의 정보를 토대로, 고유한 Access Token을 받아 리소스 접근에 대해 보다 쉽게 통제할 수 있는 프로토콜로 사용자는 토큰 유효 기간 동안 동일한 웹페이지나 앱, 혹은 그 밖에 해당 토큰으로 보호를 받는 리소스로 재 접근시 자격 증명을 다시 입력할 필요 없게 됨 👉 토큰 기반 시스템 작동 원리 1) 유저가 아이디와 비밀번호로 로그인 2) 서버에서 해당 로그인 정보를 검증 및 유저에게 Token 발급 3) 해당 Token은 Signed Token으로 서버에서 정상적으로 발급된 것 이라는 Signature를 지니고 있음. 4) 클라이언트 측에서는 전달받은 토큰을 저장해두고, 서버에 접근시 활용 5) 서버는 접근시 마다 해당 Token을 확인하..

[Web 기본] HTTP 통신 정리

HTTP(Hyper Text Transfer Protocol 통신 웹상에서의 정보를 주고 받는 프로토콜 통신 규약 HTTP 통신 주요 특징 목차 요청 (Request) 응답 (Response) Stateless 쿠키/세션 요청/응답 예시 요청 (Request) 웹 브라우저를 통해 서버에 어떠한 정보를 요청하는 것 (프론트 => 서버) 요청하는 정보 자체는 Request 객체가 관리한다. 응답 (Response) 웹 브라우저의 요청에 대해 서버가 응답하는 것 (서버 => 프론트) 응답하는 정보 자체는 Respons 객체가 관리한다. Stateless 웹은 기본적으로 클라이언트와 서버간에 서로 직접적인 연결이 되어 있지 않다. 각각의 HTTP 통신은 독립적이며, 그 전에 처리된 HTTP 통신에 대해 알 수 ..