IT54 [Server] REST API & gRPC REST API / gRPCREST API와 gRPC는 서버와 클라이언트 간의 통신을 위해 사용되는 두 가지 대표적인 프로토콜이다.REST API를 사용하는 경우 gRPC와 비교 시 좀 더 광범위하게 사용되고 선호되는 것을 볼 수 있다.반대로 gRPC는 외부 사용자가 액세스 할 수 없는 내부 시스템 또는 구조를 만들 때 주로 사용된다. REST APIREST란 자원을 이름(자원의 표현)으로 구분해 해당 자원의 상태(정보)를 주고받는 모든 것을 의미한다.기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용한 아키텍처 스타일을 따르게 된다.REST API는 CRUD ( Create, Read, Update, Delete ) 연산을 수행하기 위해 URI로 GET, POST 방식의Http Method를 .. 2024. 12. 26. [Spring boot] 암호화된 PK의 복호화 구현 PK 암호화저번 포스트에서 URI에서 PK가 노출되는 것을 막기 위해PK를 암호화하여 URI를 구성하도록 구현하였다. [Spring boot] PK Id 노출을 막는 Rest APIRest APIRest API 설계에서 자원을 식별하는 데 URI를 사용하는 방식은 매우 일반적이며, 자원이 명확히 식별될 수 있어야 한다는 REST의 개념에 부합한다. 따라서 URI에 리소스 식별자인 ID를 포함하는kyu-nahc.tistory.com따라서 Rest API를 요청할 때 URI 형식은 /test/aAPzwpKf+0mFtlfbU1wCWA== 다음과 같고,이런 식으로 암호화된 값을 통해 URI를 구성하여 API 요청을 하게 된다.그렇다면 API 요청을 받고 이를 복호화하는 로직도 반드시 존재해야 한다. 컨트롤러에서.. 2024. 10. 4. [Spring boot] PK Id 노출을 막는 Rest API Rest APIRest API 설계에서 자원을 식별하는 데 URI를 사용하는 방식은 매우 일반적이며, 자원이 명확히 식별될 수 있어야 한다는 REST의 개념에 부합한다. 따라서 URI에 리소스 식별자인 ID를 포함하는 것은 흔한 접근 방식이다. 예를 들어, Http PUT 요청을 통해 /api/post/1이라는 엔드포인트는 1번 포스트를 수정하는 API라는 것을 직관적으로 알 수 있다. 리소스 식별자와 PK( Primary Key ) 사용리소스를 식별하기 위해 보통 고유한 값을 필요로 하는데, 중복되지 않는 고유 ID를 생성하는 방식 중 하나로 DB의 PK를 자주 활용한다. PK는 이미 DB에서 유일성을 보장하고 있기 때문에 이를 REST API에서 식별자로 사용하는 것이 자연스럽고 URI를 표현하는데 .. 2024. 10. 3. [Server] Spring vs Node.js Spring / Node.js Framework대중적으로 사용하는 백엔드 프레임 워크는 Spring, Node.js 가 있다. 백앤드 개발자 공고를 찾아봐도 Spring 혹은 Node.js 서버 개발 경험을 중요시 여긴다.따라서 두 가지 Framework의 차이점을 이해하고 상황에 맞는 프레임워크를 선택할 필요가 있다. Node.js 먼저 Node.js의 정의를 살펴보면 다음과 같다.Google Chrome의 V8 Javascript 엔진으로 빌드된 Javascript 런타임 쉽게 말하자면 JavaScript를 이용하여 서버를 만들어 줄 수 있는 툴이다.이 전의 Javascript는 스크립트 언어이기 때문에, 특정 웹 브라우저(익스플로어, 크롬, 사파리) 안에서만 동작하였다. 즉, Javascript는.. 2024. 10. 2. [Server] Nginx vs Apache Web ServerWeb Server란 HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에서 어떠한 요청을 하면 그 요청을 받아 정적 컨텐츠를 제공하는 서버이다. 정적 컨텐츠란 단순 HTML 문서, CSS, 이미지, 파일 등 즉시 응답 가능한 컨텐츠이다. 이때 웹 서버가 정적 컨텐츠가 아닌 동적 컨텐츠를 요청받으면 WAS에게 해당 요청을 넘겨주고, WAS에서 처리한 결과를 클라이언트에게 전달하는 역할도 해준다. 대표적으로 Apache, Nginx 가 있다.웹 서버와 WAS 서버에 대한 개념과 자세한 차이점은 아래 포스팅을 참고하면 된다. [Server] Web Server / WAS 개념 및 차이점Web ServerWeb Server는 정적인 웹 리소스(HTML, CSS, 이미지 파일 등)를 서비스하.. 2024. 9. 30. [Server] Web Server / WAS 개념 및 차이점 Web ServerWeb Server는 정적인 웹 리소스(HTML, CSS, 이미지 파일 등)를 서비스하는 데 특화된 서버 소프트웨어를 의미한다. 웹 서버는 클라이언트의 HTTP 요청을 받아 해당 요청에 맞는 정적 컨텐츠를 반환한다. 웹 서버는 주로 웹 애플리케이션의 비즈니스 로직을 처리하지 않고, 단순히 클라이언트에게 정적인 웹 페이지를 제공하는 데 사용된다.웹 서버의 주요 기능과 특징은 다음과 같다. 정적 컨텐츠 제공웹 서버는 HTML, CSS, JavaScript, 이미지, 비디오 등과 같은 정적인 웹 리소스를 클라이언트에게 전송한다. 이러한 리소스는 웹 애플리케이션의 비즈니스 로직과 상관없이 변하지 않는 고정된 내용이다.HTTP 요청 처리클라이언트의 HTTP 요청을 받아 해당 요청에 맞는 파일이나.. 2024. 9. 29. 이전 1 2 3 4 ··· 9 다음