전체 글

Linux Shell 기본 명령어서버를 관리하거나, 운영할 때 리눅스 명령어는 필수이다. 특히, 서버 환경에서 작업을 자동화하거나 시스템 자원을 효율적으로 관리하기 위해서는 리눅스 쉘(Bash/Zsh) 명령어를 알아야한다. 명령어들로 서버 상태 확인, 파일 관리, 네트워크 설정 등 다양한 작업에 사용된다.이번 글에서는 서버 관리와 시스템 운영에 필수인 리눅스 쉘 기본 명령어들을 정리하고, 이어서 다음 포스팅에는 Git 명령어(Git Bash)까지 알아보고자 한다.시작하기에 앞서 필자는 Git Bash 또는 Ubuntu를 사용할 예정이다.리눅스 쉘(Shell) 이란?쉘(Shell)의 개념쉘은 사용자가 운영체제 커널과 직접 소통할수 있도록 도와주는 시스템 소프트웨어의 종류이다. 운영체제(OS)는 하드웨어 자..
HTTPS & 웹 브라우저에서의 CORS 웹 보안에서 중요한 두 가지 개념은 HTTPS와 CORS이다. CORS는 웹 개발을 하다보면 한 번쯤은 보게된다는 에러메세지라고 한다. 웹 개발자의 신고식이라고도 하는 CORS가 무엇인지, 이 에러를 사전에 어떻게 방지할 수 있는지를  알아야 더 효율적이고 안전하게 웹 개발을 할 수 있기때문에 알아보고자 한다.  HTTPS는 웹 통신의 보안을 강화하기 위한 프로토콜이며, CORS는 웹 브라우저에서의 발생할 수 있는 악의적, 유저 비의도 요청(CSRF)으로부터 부분적으로 보호하는 정책이다. ※ '부분적': 완벽하게는 CSRF를 방어하지 못한다는 의미이다. "웹"에만 있는 방어 정책으로 앱에도 없고 Form 요청도 방어 할수 없다.HTTPS (HTTP Secured,..
Session"세션을 유지하시겠습니까" 지난 글에 이어서 이번엔 Session에 대해 알아보고자 한다.사용자가 웹 사이트를 방문할 때 로그인 상태를 어떻게 유지하는 것일까 ?이러한 일상적인 기능에는 '세션(Session)'이라는 개념이 숨어있다. 이번 포스팅에선 웹 어플리케이션에서 세션이 어떻게 동작하는지에 대해 지난 쿠키와 비교해서 알아보고자 한다. 웹 서버 내 저장 + 단, SESSION_ID는 웹 브라우저 내 저장 및 전송시간에 따라 기존 값을  없애줄까?세션 데이터가 일정 시간 동안 사용되지 않으면 자동으로 삭제해야한다. 세션 데이터는 주로 사용자 활동에 따라 생성된다. 시간이 지나면 더 이상 유효하지 않게 만들어야한다. → 백엔드 개발자가 배치 작업을 설정할 수 있다.Session은 사용자의 상..
Web Storage"쿠키보다 더 많은 저장 공간"  지난 글에선 Cookie를 보안 측면에서 주로 다뤄봤다면, 이번 글에선 저장공간 측면에서 다뤄볼까한다. 웹 브라우저 내에서 저장하는 방법에는 여러가지가 있다. HTML5 이전에는 쿠키(Cookie)가 웹 브라우저의 유일한 저장소 역할을 했지만, HTML5 표준이 등장하면서 Storage가 추가되었고, 이를 통해 웹 개발자는 다양한 방법으로 데이터를 관리할 수 있게 되었다. 이번 포스팅에서는 Storage와 Cookie의 차이점과 용도에 대해 알아보고자 한다.  Web Strorage란?Storage는 Cookie, Session 처럼 Stateful HTTP를 위한 기술은 아니다. → 쉽게 말해, 웹 브라우저의 데이터베이스라고 생각하면 편하다.웹 스토..
Cookie"쿠키를 허용하시겠습니까"HTTP Cookie란?HTTP Cookie는 사용자가 웹 사이트를 방문할 때 웹 브라우저에 저장되는 작은 데이터 파일이다.브라우저는 그 데이터 조각들을 저장해놓았다가 동일한 서버에게 재 요청 시 저장된 데이터와 함께 전송한다. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지 판단할 때 주로 사용한다. 이를 이용하면 사용자의 로그인 상태를 유지할 수있다. 상태가 없는(stateless)HTTP 프로토콜에서 상태 정보를 기억시켜주기 때문이다. 예를 들어, 쿠키는 로그인 정보, 사용자 설정, 장바구니에 담긴 항목 등을 저장할 수 있다.웹 서버의 제어 + 웹 브라우저 내 저장 및 전송'Set-Cookie' 헤더를 통해 쿠키의 데이터, 유효 시간, 보안 설정 등을 관리..
인증/인가 > 3개의 해결책"쿠키"라는 단어자체가 친숙해서였는지 만만하게 보았다. 당분간 서브웨이 쿠키는 입에도 대지 않을 예정이다.물론 쿠키와 세션 모두 이전에 들어봤고 대충 어떤 것인지는 알고있었고 프로젝트에 적용해본 적도 있던 경험이 있지만 이렇게 딥하게 들어간 적도 없었다.. 쿠키&세션 그리고 거기서 파생되는 HTTPS보안 등을 알아볼까한다. 내용이 워낙 많다보니 글을 나눠서 포스팅 할 예정이다. Stateless & Stateful 내가 이해한 바로는, HTTP는 기본적으로 클라이언트와 서버 간의 요청이 독립적인 Stateless(비상태성, 비연속성)이다.서버는 각 요청이 별개의 클라이언트로부터 온 것처럼 처리하며, 이전 요청과 현재 요청 간의 관계를 유지하지 않는다.반대로 Stateful(상태..
Proxy란?우리말로 "대리인"이라는 의미를 가지고 있다.네트워크에서 Proxy는 클라이언트와 서버 사이에 중개자로서 동작하며, 다양한 기능을 수행한다.웹 서비스에서 Proxy는 보안, 캐싱, 트래픽 분산 등의 중요한 역할을 한다. 서버 부하 완화 및 보안(요청/응답 변조)을 위한 ProxyProxy 서버는 웹 환경에서 부하를 줄이고 보안을 강화하기 위해 클라이언트와 서버 사이에 위치하는 중요한 도구이다.Proxy는 주로 클라이언트 측의 Foward Proxy와 서버 측의 Reverse Proxy로 나뉜다. https://www.youtube.com/watch?app=desktop&v=4NB0NDtOwIQ참조 영상: Proxy vs Reverse Proxy (Real-world Examples) (You..
Cache 동작의 핵심은 재검증 주기와 재검증 기준 주기와 검증 주기와 검증 주기와 검증 주기와 검증 주기와 검증  HTTP Cache는 웹 성능 최적화에 중요한 역할을 하지만, 실시간 데이터를 정확하게 반영하지는 않는다. 예를 들어, 은행 계좌 잔고처럼 실시간으로 변동되는 데이터의 경우, 캐시를 통해 잘못된 정보가 제공 될 수 있다. 만약 100만 원이 캐시되어 있는 상태에서 돈을 계속 사용하면, 실제 잔고가 -500만 원이 되어도 캐시가 갱신되지 않는 한 100만원 만 보일 수 있다.이러한 이유로 실시간성이 중요한 데이터에는 캐시 사용을 신중하게 고려해야 한다.캐시의 준실시간성 보장 캐시는 임시(반영구적)저장을 위한 전략이다. 그러나 실시간성을 아예 포기한다는 것이 아니라, 재검증(revalidate..
1000_sang
CHEONSANG-DEV