6. Server - Web Architecture (Updating)

xlsoh·2020년 10월 15일
0

IM-TIL

목록 보기
15/23
post-thumbnail

Web Service Architecture

웹 서비스 구조에는 크게 Client,Server,DB 이렇게 세가지가 있다.

  • Client : user와 상호작용을 담당한다.
  • Server : 리소스 요청과 응답에 대한 처리를 한다.
  • DB : 리소스를 저장한다.

Elements of Web Architecture

  • Browser
  • Server
  • API
  • HTTP
  • Ajax

Browser

브라우저가 하는 일은 사용자가 선택한 자원을 서버에 요청하고 브라우저에 표시하는 것이다.
우선, 브라우저가 사용자가 서버에게 요청한 자원을 대신 요청한다. 그럼 서버는 서버가 갖고 있는 정보를 브라우저에게 제공하면서 응답 헤더(Response Header)를 만들어준다. 그럼 다시 브라우저는 이 응답헤더를 가지고 사용자가 알아 볼 수 있도록 브라우저에 표시해준다. 자원은 보통 HTML 문서지만 PDF나 이미지 또는 다른 형태일 수 있다. 자원의 주소는 URI에 의해 정해진다.

Server

웹서버가 하는 일은 Client에서 보낸 요청(request)에 따라 그 정보를 제공(serve)하는 역할을 하는, 즉 응답(response)을 하는 것이다.

API

API (Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.

먼저, interface는 사물 간 의사소통의 매개체이다.
UI (User Interface)는 사용자와 사용자가 다룰 대상(하드웨어, 소프트웨어) 간 의사소통의 매개체이다.
그리고, API (Application Programming Interface)는 프로그램과 다른 프로그램 간 의사소통의 매개체이다. 서버 자원을 어떻게 사용할 수 있는지 명시해 놓은 인터페이스이다.

HTTP

HTTP (HyperText Transfer Protocal)는 클라이언트와 서버가 통신할 때 사용하는 통신의 프로토콜 (규약, 규칙)이다.

HTTP는 웹서버와 웹브라우저가 요청과 응답을 주고 받을 때 동작한다.

이 HTTP 메시지들을 보려면 Chrome Browser 기준, 개발자 도구창에서 'Network'탭을 클릭하면 웹브라우저와 웹서버가 주고받은 데이터, HTTP 메시지들을 볼 수 있다.

HTTP 요청과 응답은 둘 다 header와 body(payload)를 가지며 header에는 '어디서 보내는 요청인가 (origin)', '컨텐츠 타입은 무엇인가 (content-type)', '어떤 클라이언트를 이용해 보냈는가 (user-agent)' 를 볼 수 있다. body는 모든 http method가 가지는 것은 아니며 body는 서버에 데이터를 보내기 위한 공간으로 사용된다.

HTTP는 stateless, connectionless의 속성을 가진다. 모든 요청은 독립적이고, 한번의 요청에는 한번의 응답을 하고, 응답 시 연결이 종료된다.

HTTP 메서드는 GET(read),POST(create),PUT(update),DELETE(delete) 등의 요청이 있다.

Ajax

profile
코등학생

0개의 댓글