[Network] 8. Web and HTTP

dnjstjt12·2024년 11월 8일

Web and HTTP

  • web page는 objects로 이루어져 있다. object는 HTML file, JPEG image, java applet, audio file등으로 이루어진다.

  • web page는 몇몇의 referenced object를 포함한 HTML-file을 base로 구성된다.

  • 각 object들은 URL에 의해 addressable할 수 있다.

Hypertext transfer protocol(HTTP)

  • Web's application layer protocal이다.
  • server-client model을 따른다.
  • Transfer Layer에서 TCP방식을 따른다.
  • stateless하다. 즉 HTTP에서 server는 과거의 client requests에 대한 정보를 유지할 수 없다.

Non-persistent HTTP

  • 하나의 object에 대해 TCP Connection을 한다.

  • RTT: 한 packet이 server에 갔다가 client에 온시간

  • HTTP response Time: 2RTT+file transmission time

  • Non-persistent HTTP 문제점
    1. 한 object마다 2RTT의 시간이 걸린다.
    2. OS에서 TCP Connection을 해야하는 Overhead가 발생한다.
    3. 이 문제를 해결하기 위한 방법이 Persistent HTTP이다.

Persistent HTTP

  • 여러개의 Objects가 하나의 TCP connection에 보내질 수 있다.

HTTP message type

  • HTTP에는 request, response Type의 message가 존재한다.

HTTP requset message


Uploading form input

  • POST method: web page내에 input 포함되어있다. 즉 input이 entity body안에 존재한다.

  • URL method: GET method를 사용하여 requst line의 URL 영역안에 input이 존재한다.

Method Type

  • HTTP/1.0: GET, POST, HEAD
  • HTTP/1/1: GET, POST, HEAD, PUT, DELETE

GET: 리소스를 조회
POST: 서버에 데이터 추가, 등록
PUT: 리소스 갱신, 수정
DELETE: 리소스 삭제
HEAD: HTTP의 body 영역만 제외한 status line, Header만 조회

HTTP response message

  • 200 OK
    서버에서 요청을 제대로 수행했다.
  • 301 Moved Permanently
    요청된 Object가 새 위치로 이동했다.
  • 400 Bad Request
    서버에서 이해할 수 없는 요청이다.
  • 404 Not Found
    서버에서 요청한 페이지를 찾을 수 없다.
  • 505 HTTP Version Not Supported
    서버가 요청에 사용된 HTTP 프로토콜 버전을 지원하지 않는다.

Cookies

  • HTTP는 stateless이지만 모든 것을 stateless로 해결할 수는 없다. 예를 들면 로그인 정보를 불러오지 못할 시에 서비스를 제공에서 문제가 생긴다. 그래서 state한 cookie를 사용하는 것이다.

Web Caches(proxy server)

  • proxy server의 목적: origin server를 포함하지 않고 client의 요청을 달성해야한다.

  • browser는 먼저 모든 HTTP requests를 cache로 보내야 한다.

  • cache의 return 값이 origin server에 보내지고 origin server의 return 값이 다시 cache를 거쳐 client로 보내진다.

  • cache는 보통 ISP에 설치된다.


[참고] Computer Networking A Top-Down Approach EIGHTH EDITION/Kurose.Ross/Pearson

profile
안녕하세요!

0개의 댓글