쿠키 HTTP 쿠키는 웹쿠키, 브라우저 쿠키로도 불리며 사용자 웹 브라우저에 저장되는 작은 데이터 파일이다. 쿠키에는 이름, 값, 만료 날짜, 경로 정보가 들어있다. 쿠키는 Response Header의 Set-Cookie을 사용하여 클라이언트에 쿠키 정보를 저장할 수 있다. 그리고 이렇게 만들어진 쿠키는 클라이언트가 요청 시 마다 Request H...
컨텐츠 협상(Content negotiation)
컨텐츠 협상(Content negotiation) 컨텐츠 협상이란 클라이언트가 URI로 특정 리소스를 요청할 때 서버가 클라이언트에게 가장 적절한 프로젠테이션을 제공할 수 있도록 정보를 명시하는 것을 말한다. (예를들어, 언어나 이미지 포맷 혹은 컨텐츠 인코딩) 서버 주도 컨텐츠 협상 서버 주도 컨텐츠 협상은 브라우저가 서버에 HTTP 헤더를 전송하...
HTTP 헤더 개요
HTTP 헤더 HTTP 헤더는 클라이언트와 서버가 요청 또는 응답으로 부가적인 정보를 전송할 수 있도록 해준다. HTTP 헤더는 대소문자를 구분하지 않는 이름과 콜론 ':' 다음에 오는 값(줄 바꿈 없이)으로 이루어져 있다. header-field = field-name: OWS field-value OWS (OWS: 띄어쓰기 허용) 표현 ...
HTTP 상태코드
HTTP 상태코드 HTTP 상태코드는 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능으로 5개의 클래스(분류)로 구분된다. 1xx(정보): 요청을 받았으며 프로세스를 계속한다 2xx(성공): 요청을 성공적으로 받았으며 인식했고 수용하였다 3xx(리다이렉션): 요청 완료를 위해 추가 작업 조치가 필요하다 4xx(클라이언트 ...
HTTP 메서드
HTTP 메서드 HTTP는 요청 메서드라는 것을 통해 주어진 리소스에 수행하길 원하는 행동을 나타낸다. HTTP 메서드 종류 GET: 리소스 조회 POST: 요청 데이터 처리, 주로 등록에 사용 PUT: 리소스 대체, 해당 리소스가 없으면 생성 PATCH: 리소스 부분 변경 DELETE: 리소스 삭제 HEAD: GET과 동일하...
HTTP 메시지
HTTP 메시지 HTTP 메시지는 서버와 클라이언트 간에 데이터가 교환되는 방식으로 요청(Request)과 응답(Response) 두가지 타입이 있다. 요청은 클라이언트가 서버로 전달하는 것이고 응답은 요청에 대한 서버의 답변이다. HTTP 메시지는 ASCII로 인코딩된 텍스트 정보이며 구조는 다음과 같다. 요청 메시지와 응답 메시지는 star...
URI와 URL 그리고 URN
URI(Uniform Resource Identifier) 우리는 인터넷상에 수많은 데이터 자원을 검색한다. 네이버나 구글에서 단어를 검색하거나 유튜브에서 내가 좋아하는 유튜버의 영상을 찾아 볼수도 있다. 또는 음악을 찾아 들어볼 수도 있다. 그런데 여기서 우리는 어떻게 그 수많은 영상과 음악들을 식별할 수 있을까? 다시말해 유튜브 서버에 접속 한...
DNS
DNS 우리가 인터넷을 통해 서버와 통신하기 위해서는 서버의 IP 주소를 알고 있어야 한다. 만약 우리가 네이버나 구글 사이트를 접속하고자 한다면 우리는 각 서버의 IP 주소를 알고 있어야한다. 문제는 IP주소는 외우기 힘들다는 것과 변경이 될 수 있다는 점이다. 우리가 친구에게 전화 걸때를 생각해보면 번호를 직접 입력하지 않고 주소록에 있...
PORT
PORT 인터넷 프로토콜에서 PORT가 하는 역할을 알아보자. 만약 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상인 경우는 어떻게 될까? 이 경우 IP 프로토콜은 둘을 구분할 방법이 없다. 이런 IP 프로토콜의 한계로 인해 우리는 TCP 프로토콜을 추가로 사용한다. 그리고 그림과 같이 애플리케이션을 구분하기 위해 사용하는 것이 ...
TCP 프로토콜
인터넷 프로토콜 스택의 4계층 이번 포스팅에서는 TCP 프로토콜에 대해 알아보려 한다. 인터넷에서 컴퓨터들이 서로 통신을 하는데 있어서 여러 프로토콜이 있다. 그 중 대표적인 프로토콜이 이전 포스팅에서 다룬 IP 프로토콜이다. 그리고 이러한 수많은 프로토콜이 모여 통신을 하게 되고 이들은 용도에 따라 서로 계층 관계로 이루어져 있다. 계층은 ...