상세 컨텐츠

본문 제목

이머시브 2주차 5일 - Intro Web Architecture

Programming/Concept

by 쌩우 2019. 6. 8. 13:45

본문

주요 키워드

  • client
  • server
  • browser
  • http
  • API
  • database
  • ajax

Client

단어 뜻 그대로 고객, 소비자, 손님과 같은 개념이다.
서버에게 무언가(데이터)를 요청하는 주체.
식당에 온 손님.

Browser

클라이언트가 서버에 요청해서 받은 데이터를 처리하여 보여주는 것.

식당.

Server

client가 요청한 자원(ressource) 혹은 데이터를 찾아서 client에게 전달해주는 것.
손님이 주문한 메뉴가 뭔지 확인해서 주방(database)으로 가 가져온다.

Database

자원, 데이터를 저장하고 있는 창고. 서버는 클라이언트로부터 요청받는 자원을 데이터베이스에서 찾아본 뒤 해당 자원이 있으면 다시 클라이언트에게 전달해준다.
server가 얘기해 준 메뉴를 가져와 server에게 건네준다.

http

Hyper Text Transfer Protocol.
TCP/IP를 이용하는 응용 계층 프로토콜.

웹 상에서 데이터를 주고받을 수 있는 프로토콜, 즉 규약이다.
클라이언트와 서버 간에 소통을 할 수 있는 규칙.
서버가 알아들을 수 있게 요청을 할 수 있는 방법.
지금은 binary로 인코딩하여 압축 전송하는 2.0 버전이 등장함.(https://americanopeople.tistory.com/115)

API

Application Programming Interface.
소스 공개는 하지 않으면서, 특정 권한으로 파일을 업로드 혹은 다운로드 하는 것과 같은 기능(인터페이스)을 제공해주는 것.
플러그인은 특정 환경 또는 프로그램에 제한되어서 기능을 발휘하지만,
API는 기존 기능과 형태를 그대로 가지면서 여러 환경에서 사용이 가능하다.

aJax

Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)
javascript의 라이브러리 중 하나.
비동기 방식이란,
웹페이지를 리로드하지 않고 데이터를 불러오는 방식이다.
이 방식의 장점은, 페이지 리로드의 경우 전체 리소스를 다시 불러와야하는데,
모든 리소스를 재요청할 경우 불필요한 리소스 낭비가 발생하게 된다.
하지만 비동기 방식을 이용할 경우 필요한 부분만 불러와 사용할 수 있어 매우 큰 장점이 있다.

장점

  1. 웹페이지의 속도 향상
  2. 서버의 처리가 완료될 때까지 기다리지 않고 처리 가능
  3. 서버에서 데이터만 전송하면 되어서 전체적인 코딩 양 감소
  4. 다양한 ui를 가능케 함

단점

  1. 히스토리 관리가 안 됨(?)
  2. 연속으로 데이터 요청 시 서버 부하 증가
  3. XMLHttpRequest를 통해 통신할 경우, 사용자에게 아무 진행 정보가 주어지지 않음. 따라서 아직 요청이 완료되지 않았는데도 사용자가 페이지를 떠나거나 오작동할 우려가 있음.

XML이란
Extensible Markup Language.
HTML과 매우 비슷한 문자 기반의 마크업 언어이다.
하지만 HTML처럼 데이터를 보여주는 목적이 아닌,
데이터를 저장하고 전달할 목적으로만 만들어졌다. 또한 XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고,
사용자가 직접 정의할 수 있다.

관련글 더보기

댓글 영역