본문 바로가기

Programming/DevOps, Tools33

JWT (JSON Web Token) 도입기 - JWT는 만능해결사인가 목차 JWT 토큰을 도입한 계기 JWT의 문제점 앞으로의 개선방향 실무에서 JWT를 도입했던 일화를 소개합니다. JWT의 개념, 소스 구현 등은 구글링 하면 예제들과 함께 자세히 나오니 해당 레퍼런스들을 참고하시기 바랍니다. JWT 토큰을 도입한 계기 별도의 세션저장소 (ex. Redis)를 두지 않은 경우 세션은 WAS에 부하를 줍니다. 일반적으로 이 문제에 직면한 뒤 세션 저장소를 별도 구축하거나 JWT 도입을 고민하는데요. 그러나 제가 실질적으로 실무에서 JWT를 도입하게 된 계기는 이원화된 서버의 세션 정합성 문제였습니다. 제가 맡은 레거시는 서버 부하 분산을 위해 was를 2대 이상으로 세팅하였으나, 실제 세션 데이터는 클러스터 혹은 별도의 세션 저장소 구축은 되어있지 않았습니다. 따라서 제가 .. 2023. 3. 2.
[UNIX System] 웹 서버 (web server)와 아파치 설정 목차 웹서버 아파치 설정 웹서버 (Web Server) 웹서버란 클라이언트의 HTTP 요청을 받아 웹 페이지 내용을 클라이언트에게 응답 (제공)하는 서버 프로그램입니다. 클라이언트는 사용자, 브라우저입니다. 이때 클라이언트가 서버와 네트워크를 통해 연결하는데, 연결하는 전용 프로토콜이 HTTP 프로토콜입니다. 2022.09.14 - [Programming/WAS] - HTTP 프로토콜 초간단 요약 HTTP 프로토콜 초간단 요약 목차 HTTP 프로토콜이란? HTTP 요청 메시지 구조 HTTP 응답 메시지 구조 HTTP 프로토콜 (PROTOCOL)이란? 웹 서버 (아파치 등)가 클라이언트 (브라우저, 크롬 등)와 통시하는 규약입니다. TCP 프로토콜에 기 kghworks.tistory.com 많이 사용하는 .. 2023. 1. 30.
웹 (WEB), 웹어플리케이션, WAS, 웹 컨테이너... 웹, 웹 애플리케이션, 톰캣, WAS, 웹 컨테이너, 서블릿 컨테이너... 웹 개발을 하다보면 위 단어들이 아주 여기저기 날아다니는데 그 개념이 명확하게 정리되어있지 않습니다. 심지어 웹 개발자들 조차 실무에서 위 단어들을 혼용해서 맘껏 사용합니다. 명확한 정의를 알고 용어를 혼동하지 않고 소통할 때 비로소 일도 효율이 잘된 것 같습니다. 이번 포스팅에서 간단하게 정리합니다. 웹 개발자라면 구분해야겠지요? 목차 웹 (web) 웹 어플리케이션 (web application) CGI (Common Gateway Interface), WAS (Web Application Server) Web Server와 WAS Servlet, JSP, Web Container 참조 웹 (web) 팀 버너스 리 (Sir Ti.. 2022. 9. 23.
HTTP 프로토콜 초간단 요약 목차 HTTP 프로토콜이란? HTTP 요청 메시지 구조 HTTP 응답 메시지 구조 HTTP 프로토콜 (PROTOCOL)이란? 웹 서버 (아파치 등)가 클라이언트 (브라우저, 크롬 등)와 통시하는 규약입니다. TCP 프로토콜에 기초합니다. HTTP 프로토콜의 특성 connection-oriented : 서버에 접속 후 요청함 stateless : 서버는 응답한 후 클라이언트의 상태를 유지 (보유) 안 함 (쿠키 / 세션의 필요성) HTTP 요청 / 응답 과정 (request / response) 접속 설정 클라이언트가 요청 메세지 전송 (request) 웹서버가 응답 메세지 전송 (response) 연결 끊음 HTTP 요청 메세지 구조 (request) GET : 웹 서버에게 요청 처리 방식을 지정 /in.. 2022. 9. 14.
[LINUX] cron service 목차 cron 서비스 crontab 명령어 (일반 사용자) crontab 주기 설명 cron 서비스 리눅스 OS에서 사용자가 지정한 시간에 주기적으로 자동 수행하는 작업을 수행하는 데몬 프로그램입니다. 작업은 시스템 수준에서 주기적으로 실행됩니다. cron 작업 내용을 'crontab' file에 작성 (shell script) 서비스가 1분 간격으로 'crontab' file을 검사하면서 작업 수행 cron은 작업을 수행하는 데몬이고, crontab은 작업에 대한 설정입니다. root의 crontab 파일 경로 /etc/crontab 파일 /etc/cron.d/ 일반 사용자의 crontab 파일 경로 /var/spool/cron/crontabs crontab 명령어 (일반 사용자) 일반 사용자가 자신의.. 2022. 9. 1.
[Linux] 표준 디렉토리 / 루트디렉터리, 파일시스템의 최상위 디렉터리 /bin 기본적인 명령 실행파일 /sbin 시스템 관리와 관련된 명령 실행파일 /boot 커널이미지, 부트로더의 설정파일 /dev 장치 접근에 사용되는 디파이스 파일 /etc 시스템의 환경설정 파일 /home 사용자 계정의 홈 디렉터리 포함 ex) /home/kgh, /home/hong /lib 프로그램들이 사용하는 라이프러리 파일 /media 이동식 저장장치 마운트 시 마운트 지점 제공 /proc 커널이 사용하는 가상 파일시스템 /root root 계정의 홈 디렉터리 /usr/.. /usr/bin, /usr/sbin : 여러가지 실행파일 /usr/include : 라이브러리 헤더 파일 /usr/lib : 실행 파일을 위한 사용자 라이브러리 /var 시스템 .. 2022. 8. 23.