HTTP/네트워크 기초

최정석·2022년 6월 9일
0
post-thumbnail

Client Server Architecture

  • 2티어 아키텍처라고도 불린다.
  • 리소스가 존재하는 곳과 리소스를 사용하는 앱을 분리시킨 것.
  • 리소스를 사용하는 앱이 클라이언트
  • 리소스를 제공하는 곳이 서버

3티어 아키텍처

  • 보통 서버는 리소스를 전달해 줄 뿐, 리소스를 저장하는 공간은 데이터베이스라는 창고에 둔다.
  • 이처럼 기존 2티어 아키텍처에 데이터베이스가 추가된 형태를 3티어 아키텍처라고 부른다.

프로토콜

  • 프로토콜은 통신 규약, 즉 약속이다.
  • 웹 애플리케이션 아키텍처에서는 HTTP라는 프로토콜을 이용해서 서로 대화를 나눈다.

OSI 7 계층

  • 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다.

  • 정의한 이유는 통신 과정 중에 특정한 곳에 이상이 생길 경우
    다른 단계의 장비 및 소프트웨어 등을 건드리지 않고
    통신 장애를 일으킨 단계에서 해결할 수 있기 때문이다.

    1. 물리 계층 (인터넷 케이블, 라우터 등 전기적 신호가 물리적 장치에 의해 통신)

    2. 데이터 링크 계층 (물리계층을 이용하여 네트워크 상의 주변 장치들 간의 데이터를 전송)

    3. 네트워크 계층 (여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하고,
      전송계층이 요구하는 서비스 품질을 제공하기 위한 기능적, 절차적 수단을 제공
      라우팅, 흐름 제어, 세그멘테이션, 오류제어, 인터네트워킹 등을 수행)

    4. 전송 계층 (통신을 활성화하기 위한 계층)
      TCP 프로토콜: HTTP,FTP 통신의 근간이 되는 인터넷 프로토콜(양방향)
      UDP 프로토콜: 단방향으로 작동하는 훨씬 더 단순하고 빠르지만 신뢰성이 낮다.

    5. 세션 계층(양 끝단의 으용 프로세스가 통신을 관리하는 방법을 제공하는 계층)

    6. 표현 계층 (코드 간 번역을 담당하는 계층,
      해당 데이터가 text인지 그림인지 구분하는 것이 표현 계층의 몫)

    7. 응용 계층 (응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 계층)
      HTTP: 웹에서 HTML, JSON 등의 정보를 주고받는 프로토콜
      HTTPS: HTTP에서 보안이 강화된 프로토콜
      FTP: 파일 전송 프로토콜
      SMTP: 메일을 전송하기 위한 프로토콜
      SSH: CLI 환경의 원격 컴퓨터에 접속하기 위한 프로토콜
      RDP: Windows 계열의 원격 컴퓨터에 접속하기 위한 프로토콜
      * WebSocket: 실시간 통신, Push 등을 지원하는 프로토콜


URL 과 URI

  • URL은 Uniform Resource Locator의 줄임말로,
    네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타낸다.
  • URL은 scheme, hosts, url-path로 구분할 수 있다.
  • scheme은 통신 방식(프로토콜)을 결정 (file://, http://, https://)
  • hosts는 웹 서버의 이름이나 도메인, IP를 사용하며 주소를 나타낸다.
  • url-path는 웹 서버에서 지정한 루트 디렉토리부터 시작하여
    웹 페이지, 이미지, 동영상 등이 위치한 경로와 파일명을 나타낸다.

  • URI는 Uniform Resource Identifier의 줄임말
  • URL의 기본 요소에 더해 query, bookmark를 포함한다.
  • query: q=JavaScript

  • port번호 중에서 0 ~ 1024번 까지는 주요 통신을 위한 규약에 따라 이미 정해져 있다.
  • :22 => SSH
  • :80 => HTTP
  • :443 => HTTPS

HTTP 메서드

0개의 댓글