웹과 HTTP

Stormi·2022년 5월 25일
0

네트워크

목록 보기
15/37
  • 웹은 인터넷을 여러 데이터 네트워크 중 하나에서 유일한 데이터 네트워크로 격상시켰다.

    온 디맨드(on-demand)방식

    클라이언트가 서버에게 먼저 요청하는 방식
    HTML 돌려주는 방식

    라디오/TV

    항상 공급중이고 우리가(클라이언트) 그냥 튼 것일 뿐, 데이터를 네트워크로 계속 보내고 있음

HTTP 개요

  • 서로 다른 종단 시스템에서 수행되는 클라이언트 프로그램과 서버 프로그램은 서로 HTTP메시지를 교환해서 통신한다.

  • 웹 페이지는 객체들로 구성된다.

  • 대부분의 웹 페이지는 기본 HTML파일과 여러 참조 객체로 구성된다.

  • 기본 HTML 파일은 페이지 내부의 다른 객체를 그 객체의 URL로 참조한다. (이미지를 URL로 갖는 것을 생각하기)

    http://www.naver.com/sth
    이렇게 되어 있으면 hostname은 com까지 이고, 그뒤는 경로 이름이다.

    웹의 관점에서는 브라우저와 클라이언트를 동일하게 쓰느다. 브라우저는 요구한 웹페이지를 보여주고 여러가지 인터넷항해와 구성 특성을 제공한다. HTTP의 서버 측을 구현하는 웹서버는 URL로 각각을 지정할 수 있는 웹 객체를 갖고있다. 웹서버의 대표적인 예는 아파치가 있다.

  1. 사용자가 웹페이지를 요청할때
  2. 브라우저는 페이지 내부의 객체에 대한 HTTP요청메시지를 서버에게 보낸다.
  3. 서버는 요청을 수신한다.
  4. 객체를 포함하는 HTTP 응답 메시지로 응답한다.

HTTP는 TCP 전송 프로토콜을 사용한다.
1. HTTP 클라이언트는 먼저 서버에 TCP 연결을 시작한다.
(일단 연결이 이뤄진다음에)
2. 브라우저와 서버프로세스는 그들의 소켓 인터페이스를 통해 TCP로 접속한다.
(클라이언트 측에서 보면 소켓 인터페이스는 클라이언트 프로세스와 TCP 연결 사이의 출입구이다.)
(반면 서버 측에서의 소켓 인터페이스는 서버 프로세와 TCP 연결 사이에서의 출입구 이다.)
3. 클라이언트는 HTTP 요청 메시지를 소켓 인터페이스로 보내고 소켓 인터페이스로부터 HTTP 응답메시지를 받는다.

애플리케이션이 전송계층을 통제할 수 있는 권한이 거의 없다고 했다. 따라서 클라이언트가 메시지를 소켓 인터페이스로 보내면, 메시지는 "클라이언트의 손을 떠난" 것이고 "TCP의 손"에 쥐어진것이라고 볼 수 있다.

비상태 프로토콜

서버가 클라이언트에게 요청 파일을 보낼 때, 서버는 클라이언트에 관한 어떠한 상태정보도 저장하지 않는다. HTTP를 비상태 프로토콜이라고 한다.

0개의 댓글