Network

· Network
일반적으로 네트워크 통신은 HTTP를 사용하여 클라이언트에서 요청을 보내면 서버에서 해당 요청에 대한 응답을 전달하는 방식으로 이루어진다. 여기서 중요한 점은, 클라이언트의 요청이 있기 전까지는 서버는 데이터를 전송할 수 없다는 것이다. 하지만, 기술이 점점 발전하고 다양한 서비스가 생김에 따라 실시간 네트워크 통신이 필요한 상황이 생기게 되었다. 예를 들어, 채팅 서비스 같이 실시간으로 서버로부터 채팅 데이터를 받아와야 하는 상황에서는 이런 실시간 통신이 매우 중요한 요소이다. 이렇게 실시간 통신의 필요성이 증가함에 따라 이를 위한 여러가지 통신 방식이 등장하게 되었다. 이 글에서는 이런 실시간으로 통신할 수 있는 여러가지 방식을 알아보도록 할 것이다.  Polling & Long Polling실시간성..
· Network
개요 개인 프로젝트에서 토큰 기반 인증 방식을 도입하면서 JWT에 대해 찾아보게 되었고, 이해한 부분들을 이 글에 정리해보려 한다. JWT JWT는 Json Web Token의 약자로, 비밀키를 이용하여 서명된 JSON 형태의 데이터이다. 여기에 사용자 인증 정보를 넣어서 토큰을 발급해주면, 추후 인증이 필요한 리소스에 접근 시 사용자가 서버에 토큰을 포함해서 전송하여 서버 층게서는 복잡한 인증 과정 없이 토큰만으로 사용자 인증 및 인가를 진행할 수 있는 것이다. JWT는 아래와 같이 header, payload, signiture 세 가지 정보를 base64로 인코딩한 값을 dot(.) 사이에 두고 이어 붙인 형태로 생성된다. xxxxx.yyyyy.zzzzz 그럼 header, payload, sign..
· Network
401 Unauthorized vs 403 Forbidden HTTP Status - 401 Unauthorized 401 Unauthorized는 클라이언트가 인증되지 않았거나, 유효한 인증 정보가 부족하여 요청이 거부되었음을 의미하는 상태값이다. 즉, 클라이언트가 인증되지 않았기 때문에 요청을 정상적으로 처리할 수 없다고 알려주는 것이다. 401(Unauthorized) 응답을 받는 대표적인 경우는 로그인이 되어 있지 않은 상태에서 무언가 요청을 하는 경우이다. 예를 들어, 어떤 쇼핑몰 사이트에 로그인을 하지 않았는데 나의 결제 내역과 같은 정보를 달라고 하면 401(Unauthorized)를 반환받게 될 것이다. 이와 많이 혼동되는 HTTP status로 403 Forbidden이 있다. HTTP ..
· Network
개요 개인 프로젝트에서 API 설계를 하는 도중, 내가 지금 RESTful 한 API를 제대로 설계하고 있는 것인지 의문이 들어 제대로 된 RESTful API란 무엇인지 찾아보게 되었다. REST란 무엇인가? Representational State Transfer(REST) API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처이다. REST는 처음에 인터넷과 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침으로 만들어졌으며, 이를 사용하여 대규모의 고성능 통신을 안정적으로 지원할 수 있다. 쉽게 구현하고 수정할 수 있어 모든 API 시스템을 파악하고 여러 플랫폼에서 사용할 수 있다. REST의 특징 1. Uniform Interface 균일한 인터페이스는 URI로 지정한 리소스에 대한 조작을..
Woong이
'Network' 카테고리의 글 목록