cs 5

[cs] J W T(Json Web Token)

토큰 관련된 인증은 대부분 로그인과 관련되어 사용합니다.그중 JWT는 웹 표준을 따르고 있고, JSON 객체를 사용해 정보를 전달합니다. JWT의 장점이라고 하자면 토큰 안에 정보를 담아 전달하기 때문에 JWT로 인증이 가능하다는 점입니다.또한, 웹 표준을 따르기 때문에 언어 대부분이 JWT를 지원합니다. JWT 구조 위 사진과 같이 헤더, 페이로드, 서명으로 이루어져 있습니다. 이것을 "."으로 구분합니다. 헤더에는 JWT 타입과 어떤 해싱 알고리즘을 사용했는지 명시합니다.페이로드는 Claim이 들어갑니다. 여기서 Claim은 3가지 종류가 있습니다. 3가지 종류로는 registered, public, private가 있습니다.서명은 JWT 토큰의 무결성을 보장하기 위해 헤더와 페이로드를 해싱한 후 비..

cs 2024.10.21

[cs] 싱글톤의 장점과 단점

싱글톤이란싱글톤 패턴이란 특정 클래스의 인스턴스를 1개만 생성하는 것을 보장하는 디자인 패턴 중 하나이다. 이 패턴은 생성자로 매번 생성하더라도 인스턴스를 매번 생성하는 것이 아닌 최초로 생성한 동일한 인스턴스를 계속 사용하는 패턴입니다. 만약에 spring 백엔드 개발자라면 떼고 싶어도 뗄 수 없는 디자인 패턴이자 spring을 조금 더 특별하게 만들어주는 것이라고 할 수도 있다. 싱글톤의 장점위에서 말했던 대로 처음에 생성한 동일한 인스턴스를 계속 사용하기 때문에 메모리 낭비를 예방할 수 있다.예를 들어 유저가 1초에 10, 100번의 요청을 보낸다고 가정하면 10개, 100개의 인스턴스를 생성하는 것이 아닌 이미 생성된 인스턴스(static)를 호출하여 사용해 메모리 낭비를 방지할 수 있습니다. p..

cs 2024.09.23

[cs] Proxy란

Proxy란?프록시는 `대리`라는 뜻이다. 이러한 뜻으로 네트워크 상에서는 인터넷 접속을 할 때 빠른 엑세스 또는 안전하게 통신을 하기 위해 중계서버를 두는 경우가 있는데 이런 중계서버를 `Proxy`라고 한다. 이 프록시 서버는 클라이언트와 서버 중간에 위치하여 대신 요청등의 통신을 받아준다.Proxy의 종류종류는 포워드 프록시와 리버스 프록시로 나누어진다. 둘의 차이점이라고 하면 포워드는 클라이언트 쪽을 설정하는 것이고 리버스는 서버 쪽의 설정을 한다.포워드 프록시 클라이언트의 대신 프록시 서버가 목적 서버에 통신해주는 구성이 포워드 프록시이다. 포워드 프록시의 경우는 프록시 서버가 서버와 통신한다. 그러므로 클라이언트는 서버에게 바로 정보를 받는 것이 아닌 프록시 서버로부터 정보를 대신 받는다. 그..

cs 2024.09.01

[cs] HTTP? HTTPS?

HTTP(Hyper Text Transfer Protocol)?HTTP란 많은 프로토콜 중에 서버와 데이터를 주고받기 위한 프로토콜이다.HTTP는 인터넷상에서 하이퍼텍스트를 주고 받기 위한 통신 규약이고 많은 포트 중에 80번을 사용하고 있다. HTTP의 구조HTTP는 TCP/IP에서 작동한다. TCP/IP는 애플리케이션 레벨의 프로토콜이다.또한, HTTP는 Stateless의 프로토콜 중 하나이고  위에 이미지에서 보다시피 HTTP의 구성요소를 볼 수 있다.하지만 이런 프로토콜의 단점이라고 하면 암호화가 되어있지 않아서 평문의 데이터를 그대로 보내기 때문에 중요한 정보나 데이터를 보내면 다른 사람이 데이터를 조회할 수 있다. 만약에 그런 일이 일어난다면 매우 큰일이 일어날 수 있다. 그래서 등장한 프로..

cs 2024.06.02

[cs]토폴로지(topology)란?

사전적 의미: 체계적인 분류, 위상 배치 그럼 네트워크의 토폴로지에 대해 넘어가기 전에 네트워크란 상호 간에 정보를 교환 또는 전달할 수 있는 유선, 무선으로 연결되어 있는 형태를 말합니다.그러면 네트워크의 토폴로지는 이러한 네트워크를 구성하는 노드와 링크를 어떻게 배치할 것인가의 형태를 말한다. 네트워크 토폴로지의 종류는 Star, Bus, Ring, Mesh, 성형, 망형 등등이 있지만 이 블로그에서는 Bus Topology, Tree Topology를 다루어보겠다. Bus Topology버스 토폴로지는 중앙 통신 회선 하나에 여러 개의 노드를 연결하여 공유하는 토폴로지이다.이 네트워크 구성은 근거리 통신망이라고 불리는 LAN에서 사용한다. 장점설치 비용이 적음신뢰성이 매우 좋은 편여러 노드를 추가하..

cs 2024.05.17