Search
🟨

Serving: Backend

카테고리
세부 카테고리
환경
작성 상태
앞선 내용
이어지는 내용
파일

Server의 형태

모놀리식 아키텍처(Monolithic Architecture)
하나의 큰 서버 = 종업원, 요리사, 서랍, 계산 등을 모두 하나에서 처리
마이크로서비스 아키텍처(Mircroservice Architecture - MSA)
종업원, 요리사, 서랍, 계산 등을 각각의 개별 서버로 구성하고 서로 통신

REST API

Representational State Transfer : 정보를 주고 받을 때 널리 사용되는 방식
HTTP(Hyper Text Transfer Protocol)
: 정보를 주고 받을 때 지켜야 하는 통신 프로토콜(규약), 약속
HTTP는 기본적으로 80번 포트를 사용한다. 서버에서 80번 포트를 열어주지 않으면 HTTP 통신이 불가능
REST란 형식의 API는 각 요청이 어떤 동작이나 정보를 위한 것을 요청 모습 자체로 추론할 수 있다.
기본적인 데이터 처리 : 조회 작업, 새로 추가, 수정, 삭제 (CRUD)
Resource, Method, Representation of Resource 로 구성되며 Resource는 URI같이 unique한 ID를 가진 리소스이고, Method는 서버에 요청을 보내기 위한 방식을 뜻하며 GET, POST, PUT, PATCH, DELETE가 있다.
HTTP Method
GET
어떤 정보를 가져와서 조회하기 위해 사용되는 방식
URL에 변수(데이터)를 포함시켜 요청함
데이터를 Header(헤더)에 포함하여 전송함
URL에 데이터가 노출되어 보안에 취약
캐싱할 수 있음
POST
데이터를 서버로 제출해 추가 또는 수정하기 위해 사용하는 방식
URL에 변수(데이터)를 노출하지 않고 요청
데이터를 Body(바디)에 포함
URL에 데이터가 노출되지 않아 기본 보안은 되어 있음
캐싱할 수 없음(다만 그 안에 아키텍처로 캐싱할 수 있음)
HTTP 통신은 request, response 시에 정보를 Packet에 저장한다.
이 패킷은 Header와 Body로 이루어져 있는데 Header에는 송수신 주소와 시간을, Body엔 전달 내용이 있다.
Status Code
: 클라이언트 요청이 서버의 반응 코드
1xx(정보) : 요청을 받았고, 프로세스를 계속 진행함 2xx(성공) : 요청을 성공적으로 받았고, 실행함 3xx(리다이렉션) : 요청 완료를 위한 추가 작업이 필요 4xx(클라이언트 오류) : 요청 문법이 잘못되었거나 요청을 처리할 수 없음 5xx(서버 오류) 서버가 요청에 대해 실패함
동기 Sync
서버에서 요청을 보냈을 때, 응답이 돌아와야 다음 동작을 수행할 수 있다.
A 작업이 모두 완료될 때까지 B 작업은 대기해야 함
비동기 Async
요청을 보낼 때 응답 상태와 상관없이 다음 동작을 수행한다. A작업과 B 작업이 동시에 실행됨
IP
PC의 주소를 나타내는 체계인 IP는 Internet Protocol의 줄임말이며, 인터넷상에서 사용하는 주소체계이다.
그 중 4덩이의 숫자로 구성된 IP 주소 체계를IPv4라고 하는데 각 덩어리마다 0~255로 나타낼 수 있다. localhost, 127.0.0.1 : 현재 사용 중인 Local PC를 뜻하며 0.0.0.0, 255.255.255.255 : broadcast address는 로컬 네트워크에 접속된 모든 장치와 소통하는 주소이다. 개인 PC 보급으로 누구나 PC를 사용해 IPv4로 할당할 수 있는 한계점 진입하여 IPv6이 나왔다.
Port
IP 주소 뒤에 나오는 숫자를 의미한다. PC에 접속할 수 있는 통로(채널)의 역할을 하며 사용 중인 포트는 중복할 수 없다.
Port는 0 ~ 65535까지 존재하고 그 중 0~1024는 통신을 위한 규약에 정해져있다. - 22 : SSH - 80 : HTTP - 443 : HTTPS