웹의 동작

: 네트워크들의 네트워크


HTTP

: 서버와 클라이언트가 인터넷상에서 데이터를 주고 받기 위한 프로토콜

  • HTTP 프로토콜은 Stateless(무상태) 방식으로 필요한 경우에만 연결을 맺고, 빠르게 요청을 보내고 결과를 얻으면 끊음
  • 이러한 방식은 Stateful과 같이 계속 연결된 형태가 아니기 때문에 불특정 다수를 대상으로 하는 서비스에 적절함.
    클라이언트-서버 간의 최대 연결 수 보다 훨씬 많은 요청과 응답을 처리할 수 있기 때문임.
  • but, 연결을 끊어버리기 때문에 클라이언트의 이전 상황을 알 수 없는 단점이 생기게 됨. 이를 보완하기 위해 정보를 유지하기 위한 Cookie의 개념이 등장.

URL(Uniform Resource Locator)

: 인터넷 상에서 이미지, 동영상 등의 자원(Resource)들의 위치를 나타내기 위해 사용하는 경로 혹은 주소로
다음과 같이 크게 '세 부분' 으로 나뉘어짐


ex)http://www.sunnyvale.co.kr/docs/index.html

  1. http - 접근 프로토콜
  2. www.sunnyvale.co.kr - 자원이 있는 서버의 IP 주소 또는 도메인 주소(+ 포트 번호)
    cf. HTTP 서버의 기본 포트 값은 80번
  3. docs/index.html - 자원의 위치와 자원


How HTTP works?



  1. 클라이언트가 원하는 서버에 접속(connect)

  2. 클라이언트가 서버에 정보를 요청(request)

    • 요청 데이터 포맷
      • 요청 헤더: 요청 메서드(GET/POST), 요청 URI, HTTP version, ...
      • 요청 바디: POST 혹은 PUT 시, 올리고 싶은 정보
  3. 서버가 요청에 따른 결과를 클라이언트에 응답(response)

    • 응답 데이터 포맷
      • 응답 헤더: HTTP version, 응답 코드, 응답 메시지, 날짜, 웹 서버 이름과 버전, 콘텐츠 타입, 캐시 제어 방식, 콘텐츠 길이, ...
      • 응답 바디: 클라이언트가 요청한 정보
  4. Stateless 방식에 따라 연결 종료(close)


'NAVER Full Stack Boost Course' 카테고리의 다른 글

4. 웹 서버  (0) 2018.07.22
3. browser의 동작  (0) 2018.07.22
2. 웹 Front-End와 웹 Back-End  (0) 2018.07.22

+ Recent posts