김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 수강했습니다. 강의 내용 중 캐시에 대해서만 다시 한 번 정리해보고자 합니다. 함께 이야기하며 메타인지에 도움을 준 칙촉과 필즈에게 감사를 !! 🤗🙏 요약 응답 헤더를 사용한 캐싱의 기준은 최종수정시간과 버전 중 한 가지를 선택해서 사용할 수 있습니다. 시간은 Last-Modified 와 If-Modified-Since로, 버전은 ETag 와 If-None-Match 로 사용됩니다. 기본적이 프로세스는 다음과 같습니다. 서버에서 정적 리소스 응답 시 Last-Modified 또는 ETag 헤더를 포함해서 응답합니다. 브라우저는 같은 리소스를 재요청할 때, If-Modified-Since 또는 If-None-Match에 이전에 Last-Modif..
모든 개발자를 위한 HTTP 웹 기본 지식을 수강했습니다. 그 중 POST와 PUT 메서드 관련 새롭게 알게 된 내용을 정리해봅니다. 요약 POST 요청은 Collection 개념에 해당한다. 리소스 관리 주체가 서버이다. PUT 요청은 Store 개념에 해당한다. 리소스 관리 주체가 클라이언트이다. POST로 새로운 제품을 등록한다면, 해당 제품의 식별자는 서버가 생성해서 Location 헤더에 내려준다. PUT 요청은 클라이언트가 식별자 및 모든 정보를 포함해서 요청을 보내야 하며, 없으면 생성, 있으면 대체한다. List의 add 메서드와 Map의 put 메서드를 생각해보면 이해가 쉽다! 이번 포스팅에서 작성하게 될 POST 는 이러이러 하다~ PUT 은 이러이러 하다~ 라는 표현은 그렇게 동작하게..
JJWT 라이브러리 선택 이유 및 간단한 소개 기술의 선택에는 이유가 있어야 한다! jwt.io 홈페이지의 라이브러리 중 java를 지원하는 목록을 살펴봤습니다. jjwt가 가장 많은 암호화 알고리즘과 편의메서드를 제공하는 것으로 확인됩니다. 비슷한 수준의 기능을 제공하는 다른 라이브러리도 있지만, 많은 사람들이 이미 선택하고 사용하여 레퍼런스가 많고 커뮤니티가 형성되어 관리되고 있다는 점도 매력 포인트입니다. RFC 명세를 완전히 충족했고, 100%의 테스트 커버리지를 통해 안정성을 제공한다는 점도 매력적입니다. 추가적으로 명세를 넘어서는 편의 기능도 제공하는데요, 특정 클레임이 반드시 존재해야 한다 라는 조건 등도 설정할 수 있고, Body 압축 기능도 제공합니다. 또한 특정 알고리즘을 이용한 비밀..
드디어 출입증을 받았습니다. 정말 감격이네요..... 🥲 베짱이로 살아온 인생이라 무언가 간절히 원해본 적도 없었고 이렇게 열정 가득한 사람들에 둘러쌓여 지내본 적도 없었습니다. 꿈만 같은 시간들이 절반이나 지나갔다는 생각에 벌써 아쉬운 마음도 듭니다. 여전히 제가 여기에 어울리는 사람인가에 대해서는 많이 부끄럽습니다. 부족함은 넘치고, 그만큼 송구하고 감사합니다.. 제 인생 업적 중 하나로 꼽을만한 우테코, 그리고 2022년이라고 생각합니다. 그래서 출입증 하나로 포스팅 하나 작성해봅니다. 살다보니 이런 일이... 우테코라니.... 빨리 다음주가 왔으면 좋겠습니다. 출입증 태그하고 싶네요.
😃 JWT와 세션, 현재까지의 학습 결과는 세션이 훨씬 매력적이네요! 최근 인증과 인가를 학습하며 JWT와 세션 방식을 대조하며 학습하고 있습니다. 현재까지 학습한 결과는 다음과 같습니다. 세션 방식이 압도적으로 우선 선택되어야 하며, 일부 토큰 방식이 더 적합한 케이스가 있을 가능성을 배제할 수는 없으나 현재까지는 그러한 케이스를 발견하지 못했다. 이렇게 생각하게 된 이유는, 세션의 단점으로 지적되고 있던 부분들이 이미 해소되었다고 생각하기 때문입니다. 전통적으로 꼽는 세션 방식의 가장 큰 단점이 서버 부하, 확장에 막혀있음 이라고 생각하는데요, 이러한 단점들은 이미 해소되었다고 느껴져서 세션의 강력한 장점인 서버의 로그인 유지 통제 용이성을 가져가는 게 나은 것 같습니다. 💾 중립적인 공간에 세션을..