클라이언트와 서버
기술

클라이언트와 서버

작성일: 2022년 12월 01일0

Web Application Architecture

  • {
      "object": "block",
      "id": "d70fbfc7-4bd1-4aac-b715-361452c441aa",
      "parent": {
        "type": "block_id",
        "block_id": "49313bee-bd10-45f4-8f8f-7f5b92f2b104"
      },
      "created_time": "2026-07-01T14:50:00.000Z",
      "last_edited_time": "2026-07-01T14:50:00.000Z",
      "created_by": {
        "object": "user",
        "id": "2ecd872b-594c-81f7-92e3-000210a8d473"
      },
      "last_edited_by": {
        "object": "user",
        "id": "2ecd872b-594c-81f7-92e3-000210a8d473"
      },
      "has_children": false,
      "in_trash": false,
      "type": "heading_4",
      "heading_4": {
        "rich_text": [
          {
            "type": "text",
            "text": {
              "content": "2 Tier Architecture",
              "link": null
            },
            "annotations": {
              "bold": false,
              "italic": false,
              "strikethrough": false,
              "underline": false,
              "code": false,
              "color": "default"
            },
            "plain_text": "2 Tier Architecture",
            "href": null
          }
        ],
        "is_toggleable": false,
        "color": "default"
      },
      "archived": false
    }

    서버: 데이터를 저장하고 보관하는 곳

    클라이언트: 데이터를 요청하여 사용하는 어플리케이션

  • {
      "object": "block",
      "id": "eba7ac8f-9195-4a6f-b2d1-99136b75f085",
      "parent": {
        "type": "block_id",
        "block_id": "1e5caf0a-d2f3-4719-983f-71ad4532f8a3"
      },
      "created_time": "2026-07-01T14:50:00.000Z",
      "last_edited_time": "2026-07-01T14:50:00.000Z",
      "created_by": {
        "object": "user",
        "id": "2ecd872b-594c-81f7-92e3-000210a8d473"
      },
      "last_edited_by": {
        "object": "user",
        "id": "2ecd872b-594c-81f7-92e3-000210a8d473"
      },
      "has_children": false,
      "in_trash": false,
      "type": "heading_4",
      "heading_4": {
        "rich_text": [
          {
            "type": "text",
            "text": {
              "content": "3 Tier Architecture",
              "link": null
            },
            "annotations": {
              "bold": false,
              "italic": false,
              "strikethrough": false,
              "underline": false,
              "code": false,
              "color": "default"
            },
            "plain_text": "3 Tier Architecture",
            "href": null
          }
        ],
        "is_toggleable": false,
        "color": "default"
      },
      "archived": false
    }

    데이터베이스: 데이터를 저장하는 곳

    서버: 데이터를 전달해주는 어플리케이션

    클라이언트: 데이터를 요청하여 사용하는 어플리케이션

    Protocol

    "공통의 데이터 교환 방법 및 순서에 대해 정의한 의사소통 약속, 규약 혹은 규칙 체계"를 말합니다.

    웹 애플리케이션 아키텍처에서는 클라이언트와 서버가 서로 HTTP라는 프로토콜을 이용해서 대화하고,

    HTTP를 이용해 주고받는 메시지는 "HTTP 메시지"라고 부릅니다.

    주요 프로토콜

  • HTTP : HTML. JSONS 등의 데이터를 송수신할 때 사용되는 프로토콜
  • HTTPS : HTTP보다 보안이 강화된 프로토콜
  • FTP : 파일을 전달할 때 사용되는 프로토콜
  • SFTP : 보안이 강화된 FTP
  • Telnet : 터미널 네트워크에 사용되는 프로토콜
  • POP3 : 우체국 프로토콜
  • SMTP : 이메일에 사용되는 프로토콜
  • SSH : 터미널에 사용되는 프로토콜
  • SSL : 넷스케이프사에서 개발한 인터넷 보안 프로토콜
  • SOAP : HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜
  • ARP : 네트워크 상에서 IP 주소를 물리적 네트워크 주소로 대응(bind)시키기 위해 사용되는 프로토콜
  • Application Programming Interface

    클라이언트가 요청을 하고 싶지만 클라이언트는 서버가 어떻게 구성되어 있는지는 모릅니다.

    여기서 나오는 개념이 Application Programming Interface(이하 API)입니다. Interface의 사전적 의미는 "의사소통이 가능"하도록 만들어진 "접점"입니다.

    서버는 클라이언트에게 리소스를 잘 활용할 수 있도록 인터페이스(interface)를 제공해야 합니다.

    즉, API를 구축해놓아야 클라이언트가 이를 활용할 수 있습니다.

    보통 인터넷에 있는 데이터를 요청할 때에는 HTTP라는 프로토콜을 사용하며, 주소(URL, URI)를 통해 접근할 수 있게 됩니다.

    http 사용자 관리 API

    HTTP 요청에는 메소드라는 것이 존재합니다.

    알아야하는 5가지 메소드

  • 조회(read) : GET
  • 추가(create) :POST
  • 갱신(update) : PUT 또는 PATCH
  • 삭제(delete) : DELETE