client - request / 브라우저
server - response / 콘텐츠 자원을 관리하고 처리하는 컴퓨터
웹에서 다양한 콘텐츠를 불특정 다수의 사람에게 공개하려면 정리하고 관리하는 것이 매우 중요하기 때문에, 웹 클라이언트와 웹 서버를 분리하여 웹 서버(하나의 컴퓨터)에 정보를 모아둔다.
무엇을 사기 위해 상점을 가는 상황을 비유해보자.
200 OK
메시지를 보내고 파일을 client에게 전송한다. / 상점이 원하는 물품을 전달한다.client가 원하는 컨텐츠만을 찾으려면 URL이 필요하다.
웹 사이트의 특정 페이지에 접근하기 위해 주소창에 입력하는 문자열이 URL이다.
URL : 인터넷 상의 콘텐츠를 고유하게 지정하기 위한 구조
URL은 스킴, 호스트명, 경로명으로 이루어져 있다.
우리는 URL을 사용하여 특정 데이터를 요구할 수 있다.
여기서 특정 데이터를 어떻게 주고 받을 지에 대한 약속이 필요한데,
이를 통신 프로토콜이라고 한다.
웹에서는 HTML 전송을 위해 HTTP가 널리 사용되고 있다.
HTTP : HTML 전송에 사용되는 프로토콜
GET[1] /doc/test.html[2] HTTP/1.1[3]
Host: www.test.com
요청을 보낸 곳의 호스트명
Accept: image/gif
웹 클라이언트가 받을 수 있는 데이터의 종류 (Content-Type 형식)
User-Agent: Mozilla/4.0
이용 중인 웹 브라우저의 종류와 버전
origin
요청이 어느 주소에서 시작되었는지
HTTP/1.1[1] 200[2] OK[3]
응답에 대한 부가적인 정보
요청한 데이터 (HTML, JPEG ..)
Mashup : 웹 서비스를 결합해 새로운 부가가치를 창출하는 방법 (요기서 API를 사용)
REST(Representational State Transfer) : HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것
GET/users/[사용자 id]
)