목록CS/Network (4)
개발자 블로그
get methhod는 조회나 검색에 활용되는 http method이다. 따라서 클라이언트에서 서버로 데이터를 보낼 때, 다른 방식과 다르게 request body에 실어 보내지 않는다. 따라서 get method에서 데이터를 서버에 보내기 위해선 QueryString을 사용하거나 path parameter로 데이터를 보내야 합니다. QueryString: /endpoint?key1=value1&ket2=value2 path parameter: /endpoint// 두 가지 쓰임이 있기에 상황에 따라 두가지를 사용하면 되겠다. 우선 쿼리 스트링의 경우, Id와 같이 정확한 데이터의 정보가 아닌 경우에 쓰이며, 조건에 맞는 쿼리셋을 사용자에게 보여줄 때 사용된다. 반면, 경로 인자는 객체의 id값과 같은..
프로젝트를 하면서 인증 방식을 어떻게 구현할지는 개발자의 선택이고 때문에 보편적으로 사용되고 있는 몇가지 방식의 장단점을 잘 알고 상황에 맞춰 프로젝트에 적용시킬 수 있어야 한다. 일단 우리는 왜 인증 절차를 취할까? http의 특징을 짚고 넘어가면 http는 무상태성을 유지한다. 무상태성(stateless)는 사용자의 상태를 알고 있지 않다는 것이다. 서비스가 점점 복잡해지면서 서버는 사용자의 상태를 파악하고 이에 맞게 응답을 해줄 필요가 있다. 따라서 http의 무상태성을 보완하기 위해 몇가지 인증 방식이 있다. 가장 보편적으로 사용되고 있는 세션 토큰 방식과 JWT토큰 방식을 위주로 설명해보자! 인증과 인가 인증은 로그인을 하여 유저가 해당 서비스의 사용자라는 절차를 밟는 것이 인증! 인가는 per..
통신을 중계하는 프로그램 : 프록시, 게이트웨이, 터널 HTTP는 클라이언트와 서버 이외에 프록시, 게이트웨이, 터널과 같은 통신을 중계하는 프로그램과 서버와 연계하는 것도 가능하다. 두 서버 사이의 중계 역할을 하고 클라이언트에 리스폰스를 반화하는 역할을 한다. 여기서 의문점이 생긴다. 아니 의사소통도 대변인이 있으면 잘 되지 않고 시간이 오래 걸리는데, 이러한 중계 프로그램을 두는 이유는 무엇일가? 아마 다른 이점이 있을 것이다. 여기서는 이러한 중계 프로그램이 하는 일과 장점을 아주 간단하게 알아보고 정리하는 정도로만 해보자! 1) 프록시는 서버의 대변인? 이전에 프로젝트를 하면서 Nginx에 대해 공부를 한 경험이 있다. 그 때 처음 들어본 단어인데, 종류로는 포워드 프록시와 리버스 프록시가 있다..

0. 패킷 통신 규약 중 가장 보편적으로 쓰이는 TCP/IP 패킷 통신이 무엇인지, 패킷통신의 배경은 해당 링크를 참고! 1. TCP/IP는 프로토콜의 집합이다. 그렇다면, 프로토콜은 뭐지? 프로토콜은 규칙 및 약속이라고 생각하면 된다. 만약 우리가 다른 나라사람과 대화를 해야한다면, 우리는 언어가 다르기 때문에 소통의 어려움이 있을 수 있다. 때문에 어떻게 대화를 시작할지, 어떤 언어로 대화를 할지, 언제 대화를 끝낼지와 같은 약속이 필요하다. 이를 다시 네트워크로 빗대어 보면 다른 OS와 컴퓨터, 네트워크 기기가 서로 어떻게 파일(데이터)을 주고 받을지에 대한 약속이라고 한다. 프로토콜에는 여러가지가 있다. 데이터를 어떻게 보낼지, 데이터를 목적지까지 최적의 경로를 보내는 방법 등 인터넷과 관련된 프..