RESTful 이란
·
CS/Network
👋 들어가기 전서버가 있는 프로젝트를 할 때 많이 나오는 키워드REST, RESTful, REST API 차이가 무엇일까 ?? 대강 아는 는낌으로 넘겼던 과거를 반성하고 이번에 깔끔하게 정리하고 가자 ✊REST먼저 RESTful, REST API를 알아보기 위해 공통적으로 언급되는 REST가 무엇인지 알아보자. Representational State Transfer의 줄임말이다.조금의 의역이 필요하지만 자원의 이름을 통해 자원의 상태를 전달받는 것을 의미한다. 📦 구성요소1. 자원(Resource) URI많은 자원은 서버에 있고 원하는 자원을 얻기위해서는 URI(Uniform Resource Identifier)를통해 서버에게 원하는 자원의 상태를 요청한다.2. 행위(Verb) HTTP Method..
HTTP [ HTTP Version, HTTPS ]
·
CS/Network
앞서 배운 response와 request에 각각 http version이 명시되어 있는데 이번에는 http version 특성을 간단하게 정리해보자. HTTP/1.0한 연결당 하나의 요청을 처리하도록 설계됨TCP 커넥션이 HTTP 요청마다 3-way Handshake와 TearDown 반복RTT증가RTT: 패킷이 목적지에 도달하고 다시 출발지로 돌아오기 전까지 걸리는 시간 = 패킷 왕복 시간 RTT 증가를 해결하기 위해 시도한 방법이미지 스플리팅많은 이미지가 합쳐져 있는 하나의 이미지를 받아 position을 이용하여 단일 이미지처럼 표기하는 방법코드 압축개행 문자, 빈칸등을 없애서 코드의 크기를 최소화하는 방법 이미지 Base64 인코딩이미지 파일을 64지법으로 이루워진 문자열로 인코딩이 방법을 사용..
TCP / IP [송수신 과정, 캡슐화, PDU]
·
CS/Network
저번 시간에는 네트워크를 통해 데이터를 주고 받을 때 어떤 계층을 거쳐야하는 지, 그 계층에는 어떤 규칙 (protocol)이 있는지 살펴봤다. 이번시간은 실제 데이터를 요청할 때 일어나는 일을 계층별로 알아보자. 해당 과정은 클라이언트에서 서버로 보내는 상황을 기반으로 학습해보자. 캡슐화클라이언트 쪽에서 요청을 보내면 요청은 각 계층에서 캡슐화 과정을 거친다. 캡슐화란 데이터를 전달할 때 각 계층마다 아래로 전달할 때 그 계층에 헤더를 삽입하여 전달하는 과정이다. 1. 전송계층데이터가 세그먼트(TCP) 또는 데이터그램(UDP)가 되며 TCP(L4) 헤더가 붙게 된다.2. 인터넷 계층IP(L3) 헤더가 붙으며 패킷화가 진행된다.3. 링크 계층프레임 헤더와 프레임 트레일러가 붙어 프레임화가되어 서버로 전송..
TCP / IP 4계층 [ 계층 구조 ]
·
CS/Network
우리는 무엇인가 주고받을 때 어떤 것을 줄 것인지, 어떤 것을 받을 것인지를 보통 약속을 한다.예를들어 아이스크림을 받기 위해서는 우리는 아이스크림에 해당되는 금액을 지불해야한다. 이 절차는 사회적 약속이다. 마찬가지로 네트워크를 통해 데이터를 주고 받을 때도 미리 정해진 약속이 있다.그 약속을 보통 계층별로 나눠 정했는데 우리는 그 약속들의 집합을 TCP/ IP 4계층 또는 OSI 7계층으로 설명한다. 계층 구조TCP/IP는 인터넷의 표준 프로토콜로 개발되었으며, 실질적인 통신을 위해 사용된다. OSI 7계층은 이론적인 참조 모델로 개발되어 실제 통신에는 사용되지 않지만, 네트워크 기술 및 프로토콜의 표준화를 위해 사용된다. TCP / IP 애플리케이션 계층 = 애플리케이션 계층 + 프레젠테이션 계층 ..
HTTP [HTTP Response]
·
CS/Network
정의응답 메세지는 서버가 클라이언트로 보내는 메세지이다.구성요소a. Status LineHTTP versionResponse와 같이 HTTP Version을 나타낸다.Status Code응답 상태를 나타내는 코드(숫자)1xx (요청에 대한 정보): Request received, continuing process.요청을 받으면, 기존 작업 처리를 계속 진행한다.2xx (성공): The action was successfully received, understood, and accepted.작업이 성공적으로 수용되고, 해석되었으며, 수행되었다. 200(성공), 201(새 리소스 작성), 202(요청이 접수, 아직 처리 X)3xx (리다이렉션): Further action needs to be taken i..
HTTP [HTTP Request]
·
CS/Network
HTTP 메시지 종류 HTTP Request클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔 하는 요청HTTP Response요청에 대한 서버의 답변 이번 학습은 Request를 중심으로 살펴보자. 구성요소a. start lineHTTP Request Message의 시작 라인HTTP request의 start line 3가지 부분으로 구성 GET /test.html HTTP/1.1[HTTP Method] [Request target] [HTTP version] Request targetHTTP Request가 전송되는 목표 주소 HTTP version말그대로 HTTP의 version이다.version에 따라 request 메시지 구조나 데이터가 다를 수 있어 version을 명시힌다.HTTP met..