개발 공통 기술 (4) 썸네일형 리스트형 JWT JWT : Json Web Token을 먼저 이해하기 위해서는 세션과 토큰에 대해 먼저 알아야 한다. 세션과 토큰Session유저의 정보를 DB에 저장하고 상태를 유지하는 도구장점서버에 저장되서 노출 위험 X 단점요청이 있을때마다 매번 DB를 확인해야 한다.DB에 세션을 저장해야 해서,Horizontal Scaling(같은 서버를 여러개 복제시켜 트래픽을 분산)이 어렵다.⇒ Horizontal Scaling을 사용한다면, 세션을 중복저장해야 하는 문제가 있음⇒ Redis 캐싱 중앙화 하면 뭐 또 이 문제가 해결 될수도 있음..ㅋㅋㅋ 세션 로그인 요청클라이언트는 쿠키안에다가 세션을 저장해 놓는다. 세션 데이터 요청데이터 요청 + 쿠키를 같이 보냄서버에서 쿠키를 받아서 안에 있는 세션 검증세션 Flow .. 이미지 파일에 대한 이해 가끔, 우리는 무슨 이미지 저장양식을 골라야 할지... 무한 선택 회로에 놓인다.용량이 적을 수록 당연히 좋지만, 이미지를 표시할 때 적절한 포맷을 택하는 것이 여러모로 중요합니다.웹에서 사용하는 주 이미지 포맷은 JPEG와 PNG일 텐데, 그럼 둘 중에 뭘로 저장하는 게 좋을까요?JPEG → 복잡한 이미지나 사진 PNG → 단순한 이미지, 투명 표현이 필요한 이미지보통 이렇게 알고 있으며, 실제로도 그러하다. 일단 저렇게 나눠야 하는 이유는 JPEG와 PNG의 압축 방식이 다르기 때문입니다.아래 이미지는 겉보기엔 같아 보이지만 포맷이 다르며 용량도 다릅니다.확대해서 보면, JPEG JPEG = '사진'을 위한 이미지 포맷!픽셀 기반 이미지1개의 픽셀에 24비트 저장 ⇒ 즉, 2^24 = 16,777.. 직렬화(Serializable)란 무엇인가? 보통 Java, Json-Serialization 라는 단어들을 사용하여 직렬화를 이야기 하곤 한다. 위키백과에서의 '직렬화'에 대한 설명 컴퓨터 과학 의 데이터 스토리지 문맥에서 데이터 구조 나 오브젝트 상태를 동일하거나 다른 컴퓨터 환경에 저장(이를테면 파일 이나 메모리 버퍼 에서, 또는 네트워크 연결 링크 간 전송)하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정이다. 요약하면 ⇒ 데이터 구조나 Object(객체)를 저장이나 전송에 적합한 다른 데이터 형식으로 변환하는 과정 이러한 과정을 마샬링 이라고도 하는데, 마샬링은 파이썬 표준 라이브러리(Python standard library)에서 "직렬화하다"는 용어와 동일하게 간주되지만, 자바 계열 RFC 2713에서는 동일하게 간주되지 않는다. .. JWT 는 만능이 아니다. 이 포스팅은 기본적인 JWT 이해가 있다고 생각하고 글을 작성하였습니다. 우리는 JWT 를 사용할때, JWT의 장점만 생각하고 단점에 대해 크게 고민없이 JWT를 사용하곤 한다. 모든 기술에는 장단점이 존재하며, JWT 에도 단점이 있다. JWT 의 구조 JWT는 HEADER.PAYLOAD.SIGNATURE 이렇게 3가지의 필드가 존재한다. 모든 필드는 JSON으로 표현되며 이러한 JSON 필드들을 각각 Base64 인코딩하고 (.)을 기준으로 하나의 값으로 합친 것이 JWT 이다. JWT 공격 방법 JWT는 Base64로 encoded JSON 값이며, Base64를 Decode하면 누구나 내용을 볼 수 있기 때문에 JWT 안에는 중요한 정보는 없어야 한다. JWT Signature Secret Cra.. 이전 1 다음