사용자 컴퓨터 단말기(PC,태블릿,스마트폰,스마트TV등등)의 웹브라우저를 통해 인터넷망 기반에서 특정 웹사이트에 접속하면 해당 웹사이트를 제공하는 서버컴퓨터내의 웹서버를 통해 제공되는 HTML 페이지 나 HTML결과물을 웹 브라우저가 수신,해석(Interpreting)하여 사람이 알아볼수 있게 Display해주고 주로 텍스트 및 그림 형태로 특정정보들을 제공하거나 관리해주는 서비스
주소입력란(URL)을 통해 웹사이트 웹 페이지를 요청하고 웹서버,웹사이트에서 제공된 HTML 코드를 사람들이 이해할수 있는 구조로 HTML를 해석해주는 일종의 HTML번역기로 HTML코드로 표현된 언어를 사람이 인지할수 있는형식(텍스트+이미지=컨텐츠)으로 보여주는 역할을 제공
IE,Chrome,Safari,Opera...
HTTP (Hyper Text Transfer Protocol)
HTTPS
실제 웹 기반 서비스 관점의 시나리오로 리얼하게 표현 하면 사용자 컴퓨터 내에 설치된 웹 브라우저란 클라이언트 S/W에 웹사이트의 주소와 웹 페이지를 요청하면 해당 주소와 웹 페이지 리소스(URI)를 기반으로 관련 서비스를 제공하는 서버 컴퓨터를 찾아 서버컴퓨터 내에 설치되어있는 웹 서버 S/W와 그 안에 존재하는 다양한 웹 사이트 내에 있는 웹 페이지(html을 만들어내는 각종 웹 페이지)를 요청하고 그 응답의 결과물인 HTML결과물을 인터넷 망을 통해 응답 할 때 준수 해야 하는 통신규칙(규약)을 말합니다.
client && server && database
client && server && database
client && server && database
HTTP && API
Web application process flow
REST API의 정의
REST API의 특징
누가봐도 알아보기 쉬운 API를 만드는 것이 가장 중요
보기 편-안-한 코드
The samples below show how to call the REST methods in an easy way. In order to have a look at all methods and their parameters, you can study the REST API Reference at https://antmedia.io/rest which has a good look and feel. Thanks to the Swagger.
Ajax 비동기 통신 모델
서버에 요청한 결과를 다 받기 전에 다른 작업 병행 가능
비동기적인 웹 애플리케이션의 제작을 위해 아래와 같은 조합을 이용하는 웹 개발 기법
DHTML이나 LAMP와 같이 Ajax는 자체가 하나의 특정한 기술을 말하는 것이 아니며, HTML, CSS , JS 등함께 사용하는 기술의 묶음을 지칭하는 용어
Ajax는 웹 페이지 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱신 할 수 있게 해줌
즉, Ajax를 이용하면 백그라운드 영역에서 서버와 통신하여, 그결과를 웹 페이지의 일부분에만 표시할 수 있음
전통적인 웹에서는 데이터 처리한 후 응답 페이지를 HTML로 작성
Ajax는 처리한 결과에서 필요한 데이터만 가벼운 형태의 XML,CSV,JSON 데이터로 전송
데이터 처리속도와 인터페이스의 입출력 반응속도가 현저하게 증가
Ajax의 장점
Ajax 구동 방식
new Ajax.Request("url", {
method: "get",
onSuccess: functionName,
onFailure: ajaxFailure,
onException: ajaxFailure
});
...
function ajaxFailure(ajax, exception) {
alert("Error making Ajax request:" +
"\n\nServer status:\n" + ajax.status + " " + ajax.statusText +
"\n\nServer response text:\n" + ajax.responseText);
if (exception) {
throw exception;
}
}
new Ajax.Request("url", {
method: "post",
parameters: {name: value, name: value, ..., name: value},
onSuccess: functionName,
onFailure: functionName,
onException: functionName
});
fetch('https://koreanjson.com/posts/1')
.then(response => response.json())
.then(json => console.log(json))
.catch(error => console.log(error));
참고