JWT를 공부하기 전에 Web에서 클라이언트 식별과 관련하여 주로 사용되는 세션 및 쿠키에 대해 정리한 포스팅입니다. ConnectionlessHTTP 통신을 하기 위해서는 클라이언트와 서버가 연결되있어야 함.커넥션은 유지 비용이 상당히 큼 → Stateless 방식 채택 Stateless위의 Connectionless 특성을 이어받음HTTP 통신이 이전 요청의 상태를 기록하지 않음Stateful의 경우 이전 상태를 보존하며 이전 요청의 내용을 기억함.위 두가지 특성으로 연결을 유지하지 않음으로써 클라이언트 식별문제가 발생WEB은 특정 클라이언트에게 Fit한 데이터(정보)를 서버에서 제공해야하기 때문에 클라이언트 식별이 강요됨.예를들어 장바구니, 로그인 등과 같이 특정 클라이언트에 대한 특정 연결을 유지..
![[Swagger] 스프링 3.x Swagger 적용(With. SpringDocs)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbB7QfQ%2FbtsEaXZn1Ca%2FEurCI9QYO6UQ3OtwARs3z1%2Fimg.png)
스프링 버전이 3.x대로 넘어오면서 기존에 사용하던 Springfox가 호환이 되지않는 문제가 있습니다. 해결을 위한 SpringDocs 사용법에 대한 가이드 포스팅 예전 스프링 2.x대에서 사용하던 Springfox 라이브러리가 메인테이너되지 않는 문제가 발생하여 레퍼런스를 참조하던 중 3.x에서 Swagger를 적용하기 위해서는 SpringDocs 라이브러리를 활용하여 구축하여야 한다는 솔루션을 찾게 되었습니다. 이번 포스팅은 처음 써보는 SpringDocs에 대한 기본 작성 가이드를 구축하기 위한 포스팅이며, 오타/오역/오류가 있다면 언제든지 말씀하여 주시면 감사하겠습니다. Swagger 구축 환경 SpringBoot : 3.2.2 JDK : 17 build Tools : gradle Editor ..
이번에 진행하는 프로젝트에서 채팅 서버 관련 개발을 담당하게 되어 학습한 내용을 정리한 포스팅입니다. WebSocket? 웹소켓은 기존의 단방향 HTTP 프로토콜과 호환되며, 양방향 통신을 제공하기 위해 개발된 프로토콜입니다. 웹소켓과 HTTP는 모두 OSI 7계층에 위치해 있으며 동시에 4계층 TCP에 의존합니다. 클라이언트에서 최초 연결 시 기존 HTTP 통신과 마찬가지로 3Way-Handshake를 통해 연결을 하고, 웹소켓 프로토콜을 통해 데이터를 송/수신합니다. 또한 HTTP프로토콜과의 호환을 달성하기 위해 Handshake과정에서 HTTP 업그레이드 헤더를 사용하여 HTTP프로토콜에서 웹소켓 프로토콜로 변경하는 과정이 있습니다. 웹소켓을 사용하는 이유 일반적으로 클라이언트와 서버 사이에 HTT..
![[Jasypt] application.properties 설정 암호화](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwKnnX%2FbtsD3oh9Kr0%2FzUIrj3fLXqmtWgARkGM9cK%2Fimg.png)
들어가기에 앞서... 진행중인 프로젝트에서 실배포까지 할 예정이기 때문에 DB정보와 같은 알려지면 위험한 설정들을 gitignore를 활용하여 배포하지 않거나, 암호화하여 올릴 필요가 생겼습니다. Jasypt 라이브러리를 활용하면 Springboot 내에서 쉽게 암호화가 가능하다고 하여 실제 적용하는 과정에 대해서 기록합니다. 구축 환경 Springboot : 3.2.2 JDK : 17 Build Tool : gradle Editor : InteliJ dependency 의존성 추가 https://mvnrepository.com/] 위 사이트에서 Jasypt를 검색하여 최신버전인 3.0.5 의존성 추가 3.0.4가 사용이 많이 되어 적용과정에서 한번 사용해봤는데 의존성 주입이 안된다는 이상한 에러가 발생..