우리가 만들 웹서비스는 클라이언트와 서버로 구성되어있다
이번 스프린트는 API(Application Arograming Interface)를 활용해서 UI(User Interface)를 만드는 스프린트였다 여기서 API란 프로그래밍되어있는 애플리케이션과 의사소통 가능한 매게체 ,Interface란 사물과 사물간의 의사소통을 하게 만드는 매게체, UI란 유저와 의사소통이 가능한 매게체를 의미한다
웹 서비스 아키텍처는 크게 client server DB로 구성된다.
브라우저란 웹 서버에서 이동하며 쌍방향으로 통신하고 html 문서나 파일을 출력하는 그래픽 사용자 인터페이스 기반 응용 소프트웨어이다.
우리가 작성하는 html, css, js와 같은 코드를 웹에서 볼 수 있는 이유는 바로 브라우저 덕분이다. 코드를 작성하면 브라우저의 내부 엔진들이 코드를 해석해 바이너리 데이터(2진수)를 넘겨주고 처리 한 결과를 브라우저에 내보내 우리가 볼 수 있게 표현해 준다. 즉 브라우저는 클라이언트와 서버 간 요청/응답이 이루어지는 장이라 할 수 있다.
HTTP(Hyper Text Transfer Protocol)란 클라이언트가 서버와 통신을 할때 사용하는 규약과 규칙이라 할 수 있다. HTTP의 작동방식은 항상 클라이언트가 원하는 데이터를 요창하면 서버가 요청에대해 처리하여 데이터베이스에 저장하고 클라이언트에 다시 응답하는 방식으로 이루어진다. 즉 클라이언트와 서버 사이 데이터를 전송하는 프로토콜이라 생각하면 된다(프로토콜 중 http가 가장 널리 이용된다.)
Create HTTP Web Server in Node.js,
HTTP GET, POST,
HTTP GET, POST
서버란 클라이언트가 HTTP를 통해 서버에 데이터를 전달하면 서버에서 그에대한 요청과 응답에 대한 처리를 하는 컴퓨터 프로그램 또는 장치이다.
API(Application Programming Interface)란 서버 자원을 잘 가져다 쓸 수 있게 만들어 놓은 interface라 할 수 있다. 즉, 서버에 저장되어있는 기능을 활용할수 있게 하는 매게체 역할을 한다.
클라이언트에서 API서버를 통해 그 API의 양식에 맞게 데이터를 요청하면 요청받은 서버는 양식에 알맞게 데이터를 저장하고 클라이언트에 뿌려주게 된다.
API란?
Ajax(synchronous JavaScript and XML)는 비동기적인 웹 애플리케이션의 제작을 위해 아래와 같은 조합을 이용하는 웹 개발 기법, 장치이다.
1991년 이전에는 form을 이용해 하나의 페이지 내의 데이터를 클라이언트가 요구할때마다 동기화되어 서버가 느렸었지만, ajax가 등장하면서부터 페이지를 로딩 하지 않고(javascript로 비동기적) 서버에서 데이터를 가지고 와서 뿌릴 수 있게 되었다. Ajax에는 XMLHttpRequest나 fetch API가 있다.