네트워크 기초

Taehye.on·2023년 3월 28일
0

코드스테이츠 44기

목록 보기
43/89
post-thumbnail

D-30

🔍 클라이언트 - 서버 아키텍처

    클라이언트 : 리소스를 사용하는 앱
    서버 : 리소스를 전달해주는 앱
    데이터베이스 : 리소스 저장 공간

🔍 클라이언트 - 서버 통신과 API

📌 프로토콜

클라이언트와 서버가 서로 HTTP라는 프로토콜을 이용해 대화를 나눈다. 이 메시지를 HTTP 메시지라 부른다.
카페를 예를 들면 커피를 주문하는 방법은 카운터, 키오스크, 모바일 앱 이용같은 방법들이 있는데,
이 방법들 하나하나가 프로토콜이다.

🤷‍♂️ HTTP란?

HTTP(Hyper Text Transfer Protocol)는 텍스트 기반 통신 규약으로
링크를 통해 자유롭게 이동가능한 문서형태이다.


📌 API

서버는 클라이언트에게 리소스를 잘 활용할 수 있도록 인터페이스(interface)를 제공해야 하는데, 이것을 API(Application Programming Interface)라고 한다.

예시로 점원이 손님의 주문을 받아 요리사에게 주문 내용을 전달한다.
이 때 API가 가게의 점원 역할을 한다.
손님과 요리사를 서버라 한다면 API는 중간에서 양쪽의 서버를 연결해 준다.


🔍 URL

URL(Uniform Resource Locator)은 네트워크 상에서 웹 페이지, 이미지, 동영상 등 파일이 위치한 정보를 나타낸다. scheme, hosts, url-path로 구분할 수 있다.

🔍 URI

URI(Uniform Resource Identifier)는 일반적인 URL의 기본 요소(scheme, hosts, url-path)와 query, fragment를 포함한다.

📌 기본 요소

부분명칭설명
file://, http://, https:// scheme통신 프로토콜
127.0.0.1, www.google.comhosts웹 페이지, 이미지, 동영상 등의 파일이 위치한 웹 서버, 도메인 또는 IP
:80, :443, :3000port 웹 서버에 접속하기 위한 통로
/search, /Users/username/Desktopurl-path웹 서버의 루트 디렉토리로부터 웹 페이지, 이미지, 동영상 등의 파일이 위치까지의 경로
q=JavaScriptquery 웹 서버에 전달하는 추가 질문

🔍 IP

IP(Internet Protocol)란 인터넷상에서 사용하는 주소 체계를 의미한다.
인터넷에 연결된 모든 PC는 IP주소체계를 따라 네덩이의 숫자로 구분된다. 이를 IPv4라 한다.

📌IPv4

IPv4는 Internet Protocol version 4의 줄임말로, IP 주소체계의 네 번째 버전을 뜻한다.
IPv4는 각 덩어리마다 0부터 255까지 나타낼 수 있다. 이는 2^(32)인 약 43억개의 IP 주소를표현할 수 있으며, 다음과 같은 IP주소는 기억해두자.

  • localhost, 127.0.0.1
    • 현재 사용 중인 로컬 PC를 지칭합니다.
  • 0.0.0.0, 255.255.255.255
    • broadcast address, 로컬 네트워크에 접속된 모든 장치와 소통하는 주소입니다. 서버에서 접근 가능 IP 주소를 broadcast address 로 지정하면, 모든 기기에서 서버에 접근할 수 있습니다.

    💡 IPv6

    IPv6는 IPv4의 주소부족 문제를 해결하기 위해 만들어졌다.
    IPv6는 2^(128)개의 IP 주소를 표현할 수 있다.


    🔍 PORT

    PORT란 컴퓨터가 각종 신호, 정보 등을 주고 받을 수 있도록 해주는 통신 통로이다.
    컴퓨터 안에서 프로그램을 찾기 위한 수단이며 16비트로 된 숫자다.
    포트 번호는 0~65535까지 사용할 수 있다.
    그중에서 0~1024번 까지 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해졌다.

      22 : SSH
      80 : HTTP
      443 : HTTPS

    🔍 Domain name

    Domain name은 네트워크 상에서 컴퓨터를 식별하는 호스트 명을 가리킨다.
    숫자와 구분자(.)로 구성된 IP를 대신해 사용자가 기억하기 쉬운 Domain name이 등장했다.

    📌 Domain name의 구조


    Domain name은 다음과 같이 구성되어 있다.

    Top-levelcom은 상업적인 목적의 도메인을 뜻한다.
    국가를 뜻하는 kr이나 공인된 단체를 뜻하는 org등이 있다.

    🔍 DNS

    DNS(Domain Name System)는 Domain Name을 통해 IP를 확인하는 작업을 뜻한다.


    👨‍🏫 요약

  • 클라이언트와 서버는 서로 HTTP라는 프로토콜을 이용해 대화를 나눈다.

  • 손님과 요리사를 서버라고 하면 그 둘을 연결하는 점원은 API다.

  • IP = 집주소 , PORT = 각 상세주소

  • DNS = 인터넷 전화번호부
  • 0개의 댓글