네트워크/HTTP 기초 알아보기 1편
[ 아키텍처 ]
2티어 아키텍처
- 상품 정보 같은 리소스가 존재하는 곳과 리소스를 사용하는 앱을 분리시킨 것을
2티어 아키텍처 또는 클라이언트-서버 아키텍처라고 부른다. - 클라이언트와 서버는 요청과 응답을 주고 받는 관계이다.
- 클라이언트-서버 아키텍처에서 요청이 선행, 그 후에 응답이 온다.
리소스를 사용하는 앱 : 클라이언트
리소스를 제공하는 곳 : 서버
3티어 아키텍처
- 리소스를 저장하는 공간을 데이터베이스 라고 부른다.
- 기존 2티어 아키텍처에 데이터베이스가 추가된 형태를 3티어 아키텍처라고 부른다.
[ 클라이언트-서버 통신과 API ]
- 클라이언트 - 서버 간의 통신은 HTTP프로토콜을 이용해 통신한다.
- 서버 가 클라이언트에게 리소스를 잘 활용할 수 있도록 인터페이스를 제공하는것이 API 이다.
- 보통 인터넷에 있는 데이터를 요청할 때에는 HTTP프로토콜을 사용하여 주소(URL,URI)를 통해 접근이 가능하다.
예시
HTTP 요청 메서드
- HTTP 요청시 메소드를 지정하여 리소스와 관련된 행동을 지정할 수 있다.
- 주의 ) 하려는 행동에 맞게 적절하게 써야한다.
기억해야 할 다섯 가지 HTTP 요청 메서드
- GET : 조회
- POST : 추가
- PUT & PATCH : 갱신
- DELETE : 삭제
[ URL & URI ]
- URI는 URL을 포함하는 상위개념이다.
URL
- URL은 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타낸다.
- URL은 scheme, hosts, url-path로 구분할 수 있다.
URI
- URI는 일반적으로 URL의 기본 요소인 scheme, hosts, url-path에 더해 query, fragment를 포함한다.
- query는 웹 서버에 보내는 추가적인 질문이다.
- 브라우저의 검색창을 클릭하면 나타나는 주소가 URI이다.
[ IP & PORT ]
IP
- 인턴넷상에서 사용하는 주소체계를 의미
- 인터넷에 연결된 모든 PC는 IP주소체계를 따라 네 덩이의 숫자로 구분된다.
(IPv4라고 함. IPv4는 IP 주소체계의 네번째 버전을 말한다.)
PORT
- 터미널에서 리액트를 실행하면 나타나는 로컬PC의 IP주소 뒤에 :3000과 같은 숫자로 표현될 때
이 때 이 숫자가 IP 주소가 가리키는 PC에 접속할 수 있는 통로를 의미한다. - 이미 사용 중인 포트는 중복해서 사용이 안된다.
- PORT 번호는 0 - 65535까지 사용 가능
- PORT 번호 0 - 1024번까지의 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해져 있다.
[ 도메인 & DNS ]
Domain name
- 웹 브라우저를 통해 특정 사이트에 진입을 할 때, IP 주소를 대신하여 사용하는 주소가 있다.
- 만약 IP 주소가 지번 또는 도로명 주소라면, 도메인 이름은 해당 주소에 위치한 상호로 볼 수 있다.
- 터미널에서 도메인 이름을 통해 IP주소를 확인하는 명령어 : nslookup 도메인 이름
DNS
네트워크 상에 존재하는 모든 PC는 IP주소가 있지만 모든 IP주소가 도메인 이름을 가지는 것은 아니다.PC를 나타내는 127.0.0.1은 localhost로 사용할 수 있지만, 그 외 모든 도메인 이름은 일정 기간 동안 대여하여 사용한다.
대여한 도메인 이름과 IP 주소를 매칭하는 작업을 위한 서버가 DNS 라고 한다.
[ HTTP Messages ]
- 클라이언트와 서버 사이에서 데이터가 교환되는 방식
- 요청/응답 : 2가지 유형은 유사한 구조를 가지고 있음
요청 (Requests) / 응답 (Responses)
- start line : start line에는 요청이나 응답의 상태를 나타냄, 항상 첫 번째 줄에 위치, 응답에서는 status line이라고 부름
- HTTP headers : 요청을 지정하거나, 메시지에 포함된 본문을 설명하는 헤더의 집합
- empty line : 헤더와 본문을 구분하는 빈 줄이 있다.
- body : 요청과 관련된 데이터나 응답과 관련된 데이터 또는 문서를 포함, 요청과 응답의 유형에 따라 선택적으로 사용
start line & HTTP headers를 묶어서 요청이나 응답의 헤드(head)라고하고, payload는 body라고 함
'Front end > 개발 지식' 카테고리의 다른 글
[ UI / UX ] 와이어프레임 & 프로토타입 (0) | 2023.04.15 |
---|---|
[ UI / UX ] 기초 알아보기 (0) | 2023.04.15 |
[ SOP / CORS ] 기본 개념 알아보기 (0) | 2023.04.06 |
[ 네트워크/HTTP ] REST API_기초 알아보기 3편 (0) | 2023.03.29 |
[ 네트워크/HTTP ] HTTP Requests / HTTP Responses_기초 알아보기 2편 (0) | 2023.03.29 |