Web
-
JWT(Json Web Token) - 비대칭키 기반 토큰 인증 방식Web 2021. 11. 4. 21:21
JSON Web Token은 비대칭 암호화 알고리즘을 사용하는 토큰형 인증 방식의 하나로, Claim 기반의 토큰이다. 토큰 자체를 정보로 사용하는 Self-Contained 방식을 이용해서 정보를 안전하게 전달할 수 있다. 서명된 토큰은 해당 토큰에 포함된 클레임의 무결성을 확인할 수 있고, 암호화된 토큰은 다른 당사자의 클레임을 숨긴다. 공개키/개인키 쌍을 사용해서 토큰에 서명하면 개인 키를 보유한 사람만 토큰에 서명했음을 인증한다. JWT는 언제 사용할까 ❓ 인증/인가 JWT를 사용하는 가장 보편적인 방법이다. 사용자가 로그인하면 이후 모든 요청에 JWT 토큰을 헤더에 담아 인증할 수 있다. JWT를 이용하면 해당 토큰으로 허용되는 경로, 서비스, 리소스에 접근할 수 있다. 오버헤드가 적고 여러 도..
-
화상 미팅을 간단하게 구현할 수 있는 Kurento와 Openvidu 프레임워크Web 2021. 11. 4. 02:15
https://2jinishappy.tistory.com/248?category=948597 WebRTC - 웹 브라우저 간 실시간 미디어 통신 기술 WebRTC: Web Real-Time Communication 웹 브라우저 간에 플러그인의 도움 없이 서로 통신할 수 있도록 설계된 API 2020년 이후 COVID-19로 인한 비대면 수업, 화상 회의, 재택 근무가 증가하면서 스트리밍 서비 2jinishappy.tistory.com 이전에 미디어 통신 기술인 WebRTC에 대해 알아봤다. 이번에는 WebRTC를 기반으로 동작하는 프레임워크인 Kurento와 Openvidu를 왜 사용하고 어떤 장점이 있는지 소개할 것 이다. Kurento 쿠렌토는 WebRTC 미디어 서버이자 클라이언트 API 세트이면서..
-
실시간 시스템 구현을 위한 WebSocket의 이해Web 2021. 10. 22. 17:14
WebSocket에 대해 깊이있게 이해하기 위해 Spring 공식 문서를 보면서 다시 공부해봤다. 이번 글에서는 Raw 웹소켓 상호작용을 포함하는 웹소켓 메시징 방식에 대해 알아본다. 다음 글에서는 WebSocket 스택이 지원되지 않는 브라우저에서도 에뮬레이션을 지원하는 SockJS, Pub/Sub 모델 기반의 하위 프로토콜인 STOMP에 대해 다루고자 한다. Introduction to WebSocket 웹 소켓 프로토콜은 단일 TCP 연결을 통해 클라이언트-서버 간 양방향 통신 채널의 설정을 제공한다. HTTP와는 다른 프로토콜이지만 HTTP 위에서 작동할 수 있도록 설계되어 Port 80과 443을 사용하고 기존의 방화벽 규칙을 사용할 수 있다. WebSocket 상호 작용은 HTTP Upgrad..
-
동적 웹 페이지를 구현하기 위한 JSP와 ServletWeb 2021. 10. 10. 10:50
👉 서론 학부생 때 수강했던 과목은 많았지만 실제 현업에서의 프로그래밍에 대해 깊이있게 다뤘던 수업은 많지 않았다. 3학년 1학기 때 Model1 구조 기반으로 실습했었는데 그 때는 웹개발이란 원래 그런건 줄 알고 모든 프로젝트를 JSP를 사용해서 jsp 파일 안에 비즈니스 로직을 때려넣었었다... 심지어 4학년 2학기에 스프링을 처음 써봤는데 컨트롤러가 뭔지도 모르고 RequestMapping되는 방식을 몰라서 한참을 헤맸던 기억이 난다 물론 이번년도에 공부했던 것 처럼 JSP, 서블릿, MVC 패턴, Spring, Spring Boot에 대해 왜 이런 기술이 나왔는지 핵심 철학은 무엇인지 차근차근 배웠다면 더 좋았겠지만 오히려 '아 이 땐 이렇게 했었는데 잘못된 방식이었구나'를 느낄 수..
-
GET Method는 URL을 256자 이하로 제한하지 않는다Web 2021. 9. 18. 17:35
HTTP Method를 정의하고, GET과 POST의 차이를 비교할 때 주로 등장하는 말인 'GET Method의 최대 길이(URI+Query String)는 최대 256자이다'라는 말은 사실이 아니다 하지만 많은 자료에서는 위와 같이 표기되어있고, 나도 자연스럽게 "GET Method 최대 길이는 256자"라고 생각하고 있던 것 같다 이전에 정말 길이 제한이 256자일까?라는 궁금증이 생겨서 찾아본 결과 웹 플랫폼에서는 공식적으로 URI길이에 제한을 두지 않고, Chrome 브라우저는 2MB의 길이로 제한(주소창 표시는 32kB)을 둔다고 한다. URI 길이 제한은 브라우저의 정책에 따라 다르다. 위의 세 사진만 봐도 Chrome, Internet Explorer, Firefox의 URL 제한이 다른 ..
-
자주 사용하는 HTTP Status CodeWeb 2021. 7. 27. 01:31
※ 해당 글은 위키백과와 MDN Web Docs의 내용으로 작성되었음 HTTP Status Code는 100 ~ 511번까지 존재한다 각각의 백의 자리 숫자에 따라 ▶ 1xx (정보): 요청을 받았으며 프로세스를 계속한다 ▶ 2xx (성공): 요청을 성공적으로 받았으며 인식했고 수용하였다 ▶ 3xx (리다이렉션): 요청 완료를 위해 추가 작업 조치가 필요하다 ▶ 4xx (클라이언트 오류): 요청의 문법이 잘못되었거나 요청을 처리할 수 없다 ▶ 5xx (서버 오류): 서버가 명백히 유효한 요청에 대해 충족을 실패했다 의 큰 분류로 나뉜다 대표적인 Status Code들에 대해 알아보자면 100 Continue : 이 임시적인 응답은 지금까지의 상태가 괜찮으며 클라이언트가 계속해서 요청을 하거나 이미 요청을..
-
개발자들을 괴롭히는 SOP(동일 출처 정책)와 CORS(교차 출처 리소스 공유)Web 2021. 7. 21. 02:26
CORS 에러는 프론트엔드-백엔드 간 협업을 곤란하게 하는 악의 축이다 나도 관통프로젝트 할 때 CORS 에러에 의해 앓아누울 뻔 한 적이 있었다가 구글링을 통해 해결했는데, 생각해보니 CORS 에러가 무엇인지 어떤 의미인지에 대해서는 몰랐었기에 https://www.youtube.com/watch?v=bW31xiNB8Nc https://www.youtube.com/watch?v=-2TgkKYmJt4 위의 두 영상을 보고 CORS, 그리고 CORS 에러의 원인인 SOP 정책에 대해 공부하게 되었다. SOP(Same-Origin Policy)란 어떤 출처(프로토콜, 호스트, 포트의 조합을 한 출처라고 한다)에서 불러온 문서, 스크립트, 리소스가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 보안..
-
WebRTC - 웹 브라우저 간 실시간 미디어 통신 기술Web 2021. 7. 10. 20:36
WebRTC: Web Real-Time Communication 웹 브라우저 간에 플러그인의 도움 없이 서로 통신할 수 있도록 설계된 API 2020년 이후 COVID-19로 인한 비대면 수업, 화상 회의, 재택 근무가 증가하면서 스트리밍 서비스에 대한 관심과 수요는 폭발적으로 증가했다. 나도 대학교 마지막 학년에는 zoom을, 싸피에 들어와서는 webex를 통해 수업을 수강하고 프로젝트 회의를 하기 때문에 에 플랫폼의 변화 흐름을 직접 느끼고 있다. 카카오엔터테인먼트는 2020년 스트리밍 솔루션 스타트업인 리모트몬스터를 인수한 뒤 카카오 i 커넥트 라이브를 통해 관련 서비스를 적극적으로 지원하고 있다(https://connectlive.kakaoi.ai/) 이러한 스트리밍 서비스의 관심도 증가와 함께,..