웹의 동작
웹의 동작 🖥
웹 서버와 웹 클라이언트
client - request / 브라우저
server - response / 콘텐츠 자원을 관리하고 처리하는 컴퓨터
client - request / 브라우저
server - response / 콘텐츠 자원을 관리하고 처리하는 컴퓨터
웹에서 다양한 콘텐츠를 불특정 다수의 사람에게 공개하려면 정리하고 관리하는 것이 매우 중요하기 때문에, 웹 클라이언트와 웹 서버를 분리하여 웹 서버(하나의 컴퓨터)에 정보를 모아둔다.
client
- server에게 요청
- 전달 받은 데이터 조각을 완전한 웹 사이트로 조립한다.
server
- 네트워크상에 공개하는 하이퍼텍스트를 쌓아 저장
- client가 요청하면 HTML파일을 건네준다.
- 컨텐츠 자원을 관리하고 처리한다.
무엇을 사기 위해 상점을 가는 상황을 비유해보자.
- client는 웹 사이트를 접속하기 위해 DNS를 통해 서버의 진짜 주소를 찾는다. / 상점의 주소를 찾는다.
- client(브라우저)는 웹 사이트의 사본(HTML 문서)를 보내달라고 server에게 HTTP메시지를 보낸다. / 상점에서 상품을 주문한다.
- server가 요청을 승인하면
200 OK
메시지를 보내고 파일을 client에게 전송한다. / 상점이 원하는 물품을 전달한다.
컨텐츠를 찾을 수 있는 방법
client가 원하는 컨텐츠만을 찾으려면 URL이 필요하다.
웹 사이트의 특정 페이지에 접근하기 위해 주소창에 입력하는 문자열이 URL이다.
URL : 인터넷 상의 콘텐츠를 고유하게 지정하기 위한 구조
URL은 스킴, 호스트명, 경로명으로 이루어져 있다.
- 스킴 : 리소스를 획득하기 위한 방법
- 호스트명 : 리소스를 가지고 있는 컴퓨터의 이름
- 경로명 : 호스트에서의 리소스 위치
컨텐츠를 주고 받는 방식
우리는 URL을 사용하여 특정 데이터를 요구할 수 있다.
여기서 특정 데이터를 어떻게 주고 받을 지에 대한 약속이 필요한데,
이를 통신 프로토콜이라고 한다.
웹에서는 HTML 전송을 위해 HTTP가 널리 사용되고 있다.
HTTP : HTML 전송에 사용되는 프로토콜
컨텐츠를 요청 | HTTP request
시작줄
GET[1] /doc/test.html[2] HTTP/1.1[3]
- HTTP 메서드 : 서버가 수행해야 할 동작
- URL : 원하는 정보
- HTTP 버전
요청 헤더
Host: www.test.com
요청을 보낸 곳의 호스트명
Accept: image/gif
웹 클라이언트가 받을 수 있는 데이터의 종류 (Content-Type 형식)
User-Agent: Mozilla/4.0
이용 중인 웹 브라우저의 종류와 버전
origin
요청이 어느 주소에서 시작되었는지
요청에 대한 응답 | HTTP response
상태라인
HTTP/1.1[1] 200[2] OK[3]
- HTTP 버전
- 상태 코드
- 응답 구문
응답 헤더
응답에 대한 부가적인 정보
응답 본문
요청한 데이터 (HTML, JPEG ..)
RESTful API
Mashup : 웹 서비스를 결합해 새로운 부가가치를 창출하는 방법 (요기서 API를 사용)
REST(Representational State Transfer) : HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것
REST 원칙
- API가 웹 서버를 통해 제공
- 경로에 메서드를 보내 서비스를 얻음 (
GET/users/[사용자 id]
) - API 요청이 성공했는 지에 대해 status code로 알려줌
- URL은 리소스의 위치를 나타냄
- 서버에서 JSON, XML과 같은 데이터 등이 반환 (주로 JSON)
- 클라이언트 쪽에서 관리해야 할 상태가 존재하지 않고, 매번 요청을 독립적으로 발행
참고
- 우테코 수업자료 - 웹의 동작
- 웹의 동작 방식 - MDN
- HTTP 메시지
Author And Source
이 문제에 관하여(웹의 동작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@movie/웹의-동작저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)