클라이언트-서버 아키텍쳐 (2tier-아키텍쳐): 리소스가 존재하는 곳/ 리소스를 사용하는 앱을 분리시키는 것!!
3tier-아키텍쳐: 리소스를 사용하는 앱/ 리소스를 전달해주는 앱/ 리소스 저장공간
프론트엔드 & 백엔드
클라이언트 서버종류
요청과 응답은 한쌍이다.: 클라이언트-서버 아키텍처에서는 서버 마음대로 클라이언트에 리소스를 전달하지 않습니다.
프로토콜 통신규약: 프로토콜은 통신규약이다. 클라이언트에서 올바른 요청을 해야 응답이 올수 있다.
프로토콜의 종류
OSI 7 Layers
1.물리
2. 데이터링크
3. 네트워크 계층
4. 전송 계층
프로토콜 이름 | 설명 |
---|---|
TCP | HTTP,FTP 통신의 등의 근간이 되는 인터넷 프로토콜 |
UDP | (양방향의 TCP와 다르게) 단뱡향으로 작동하는 훨씬 더 단순하고 빠르지만, 신뢰성이 낮은 인터넷 프로토콜 |
7. 응용 계층
프로토콜 이름 | 설명 |
---|---|
HTTP | 웹에서 HTML,JSO 등의 정보를 주고받는 프로토콜 |
HTTPS | HTTP에서 보안이 강화된 프로토콜 |
FTP | 파일 전송 프로토콜 |
SMTP | 메일을 전송하기 위한 프로토콜 |
SSH | CLI 환경의 원격 컴퓨터에 접속하기 위한 프로토콜 |
RDP | Windows 계열의 원격 컴퓨터에 접속하기 위한 프로토콜 |
WebSocket | 실시간 통신, Push 등을 지원하는 프로토콜 |
API(Application Programming Interface)
서버는 클라이언트에게 리소스를 잘 활용할 수 있도록 인터페이스(interface)를 제공해줘야 합니다. 이것을 API라고 합니다.
즉, API문서를 작성해야 클라이언트가 이를 활용할 수 있습니다.
ex) API서버가 제공하는 적절한 URL로 디자인해서,
보통 인터넷에 있는 데이터를 요청할 때에는 HTTP라는 프로토콜을 사용하며, 주소(URL, URI)를 통해 접근할 수 있게 됩니다.
HTTP API 디자인을 잘 하는 방법
요청 | 적절한 메소드 |
---|---|
Read | GET |
Create | POST |
Update | PUT 또는 PATCH |
Delete | DELETE |
URL과 URI
URL(Uniform Resource Locator)
네트워크 상에서 웹페이지, 이미지, 동영상등의 파일이 위치한 정보를 나타냅니다.
URL의 구분: scheme, hosts, url-path
file://127.0.0.1/Users/username/Desktop/
http://www.google.com:80/search?q=JavaScript
URI(Uniform Resource Identifier)
일반적으로 URL의 기본 요소인 scheme, hosts, url-path에 더해 query, bookmark를 포함합니다. query는 웹 서버에 보내는 추가적인 질문입니다.
URI>URL
브라우저의 검색창을 클릭하면 나타나는 주소가 URI입니다. URI는 URL을 포함하는 상위개념입니다.
부분 | 명칭 | 설명 |
---|---|---|
file://, http://, https:// | scheme | 통신 프로토콜 |
127.0.0.1, www.google.com | hosts | 웹 페이지, 이미지, 동영상 등의 파일이 위치한 웹 서버, 도메인 또는 IP |
:80, :443, :3000 | port | 웹 서버에 접속하기 위한 통로 |
/search, /Users/username/Desktop | url-path | 웹 서버의 루트 디렉토리로부터 웹 페이지, 이미지, 동영상 등의 파일이 위치까지의 경로 |
q=JavaScript | query | 웹 서버에 전달하는 추가 질문 |
IP와 포트
네트워크 상에서 특정 PC를 나타내는 IP address(Internet Protocol address, IP 주소)와 그 주소에 진입할 수 있는 정해진 통로, PORT(포트)
IP
인터넷에 연결된 모든 PC는 IP 주소체계를 따라 네 덩이의 숫자로 구분됩니다.
이렇게 네 덩이의 숫자로 구분된 IP 주소체계를 IPv4라고 합니다. IPv4는 Internet Protocol version 4의 줄임말로, IP 주소체계의 네 번째 버전을 뜻합니다.
IPv4는 각 덩어리마다 0부터 255까지 나타낼 수 있습니다.
PORT
로컬 PC의 IP 주소인 127.0.0.1 뒤에 :3000과 같은 숫자가 표현됩니다.
이 숫자는 IP 주소가 가리키는 PC에 접속할 수 있는 통로(채널)을 의미합니다.
포트 번호
이미 정해진 포트 번호라도, 필요에 따라 자유롭게 사용할 수 있습니다. 잘 알려진 포트의 경우 URI 등에 명시하지 않지만, 그 외의 잘 알려지지 않은 포트(:3000과 같은 임시 포트)는 반드시 포함해야 합니다.
도메인과 DNS
터미널에서 도메인 이름을 통해 IP 주소를 확인하는 명령어 nslookup으로 naver의 IP 주소를 확인이 가능
nslookup naver.com
서버: UnKnown
Address: 10.128.128.128
권한 없는 응답:
이름: naver.com
Addresses: 223.130.195.95
223.130.195.200
223.130.200.104
223.130.200.107 // 이 4개의 주소로 네어비로 접속이 가능하다.
DNS는 Domain Name System의 줄임말로 호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템입니다.
chrome://network-errors/
출처 : 코드스테이츠