본문 바로가기

Network

(5)
Session, Cookie, Cache 배경 로그인을 하거나, 브라우저에 아이디를 기억해 두거나, 광고 팝업에 대해서 보지 않음을 선택하거나 등등 클라이언트의 정보를 기억해야 하는 stateful한 서비스가 점점 늘어나고 있다. 하지만 HTTP의 특성상 기본적으로 connectionless, stateless한 특성을 갖고 있기 때문에 서버는 클라이언트의 정보를 기억할 수 없다. 이러한 HTTP의 약점을 극복하기 위에 쿠키와 세션이란 개념이 도입되었다. 쿠키 쿠키란 웹 서버가 브라우저에 지시하여 로컬컴퓨터 파일 또는 메모리에 저장하는 작은 데이터 파일이다. 쿠키에는 다음의 두 가지의 종류가 있다. Session-Cookie 메모리에 저장되며 브라우저 종료시 삭제된다. Persistent-Cookie 디스크에 저장되며, 브라우저를 닫거나 컴퓨터..
REST API 최근 REST API를 개발하는 프로젝트를 진행하고 있었다. Controller 코드를 작성하며 URI를 어떻게 설정할지에 대해 고민을 하는 나의 모습을 보며 REST API에 대한 개념이 부족하다는 것을 느끼게 되었다. 그래서 REST API의 개념을 확실히 잡고자 본 글을 포스팅하게 되었다. API 먼저 REST API를 말하기 전에 API가 무엇인지 짚고 넘어가보자. API(Application Programming Interface)란 소프트웨어간 통신할 수 있게 하는 매커니즘이다. 예를들어 날씨 어플을 사용 한다면 날씨 어플은 기상청 소프트웨어에서 제공하는 API를 통해 기상청의 날씨 정보를 얻을 수 있다. REST 다음으로 REST에 대해서 알아보자. Representational State ..
http 상태코드 앞전에 http가 무엇이고 http의 동작원리에 대해서 학습했다. 기본적으로 http는 클라이언트 서버 구조로 클라이언트가 요청을 보내면 서버는 요청에 맞춰 응답을 한다. 이때 서버는 각 요청에 따른 상태코드를 start-line에 넣어서 응답해준다. 이 상태 코드를 통해 어떠한 응답을 하는지 유추할 수 있는데, 백엔드 개발을 하다보면 이를 이해하고 있는것이 도움이 돼서 정리를 하고자 한다. 1xx 요청이 수신되어 처리중 (Informational) * 거의 사용하지 않는다. 2xx 요청 정상 (Successful) 200 OK 요청이 성공적으로 되었다. 201 Created 요청이 성공적이었으며 그 결과로 새로운 리소스가 생성되었다. 이 응답은 일반적으로 POST 요청 또는 일부 PUT 요청 이후에 따..
HTTP HTTP란 우리는 HTTP에 대해서 많이 들어봤다. 하지만 HTTP가 무엇인가 라는 질문에 대답하기엔 아직 대답하기에 어려운 부분이 많이 있다. 이번에 HTTP에 대해서 정리해보겠다. 우선 HTTP란 인터넷 상에서 정보를 주고받는 프로토콜을 말한다. 특징 HTTP는 다음과 같은 특징이 있다. 무상태 무상태란 통신을 하는데 서로의 상태를 기억하지 않는것을 말한다. 따라서 어떠한 클라이언트와 통신을 하던 간에 해당 요청에 따른 응답만 하면 된다. 즉, 모든 통신이 독립적이다. 이러한 특징을 통해 서버는 클라이언트의 정보를 기억할 필요가 없으며, 요청에 따른 응답만 하면 되기에 여러개의 서버를 둘 수 있다는 서버에 확장성이라는 장점을 가질 수 있다. 하지만 클라이언트가 자신이 누군지 서버에 알려줘야 하는 상황..
TCP & UDP TCP UDP란? TCP와 UDP 모두 네트워크 계층중 전송 계층에서 사용하는 프로토콜이다. 이들은 모두 데이터 전송을 할때 필요한 프로토콜이다. 프로토콜? 프로토콜이란 일종의 규약이다. 사람과 사람사이에서도 서로가 이해할 수 있는 언어를 사용해야 하는데, 컴퓨터와 컴퓨터 사이에서도 마찬가지로 서로 통신을 하기 위해서 규칙이 필요하다. 이를 프로토콜이라고 한다. TCP TCP(Transmission Control Protocol)를 말하자면 전송을 제어하는 프로토콜이라는 뜻인데, 인터넷 상에서 데이터를 메시지 형태로 보내기 위해 IP와 함께 사용하는 프로토콜이다.TCP는 연결형 서비스를 지원하는 프로토콜로 인터넷 환경에서 기본으로 사용한다. 이는 TCP의 특징을 보면 더욱 이해하기 쉽다. TCP의 특징은..