URI와 웹 브라우저 요청 흐름

margarin·2021년 4월 28일
0
post-thumbnail

✨출처✨
모든 개발자를 위한 HTTP 웹 기본 지식
김영한님의 인프런 강의를 듣고 정리한 글입니다.

URI

URI는 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다.

  • Uniform: 리소스를 식별하는 통일된 방식
  • Resouce: 자원
  • Identifier: 다른 항목과 구분하는데 필요한 정보.

– URN: 각 URN은 URN의 스키마 사양으로 시작한다.
– NID: IANA(Internet Assigned Numbers Authority)에 등록된 네임스페이스 식별자이다.
– NSS: 네임스페이스별 문자열(NSS)이며, 이 문자열은 특정 객체를 정확하게 식별한다.

URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않았다.
URI과 URL은 같은 의미로 사용된다.


문법: scheme://[userinfo@]host[:port][/path][?query][#fragment]

  • 프로토콜(https): 어떤 방식으로 자원에 접근 할 것인가 하는 약속 규칙
    ex) http, https
  • 호스트명(www.google.com): 호스트명. 도메인명 or IP 주소 사용
  • 포트 번호(443): 접속 포트. 일반적으로 생략한다.
  • 패스(/search): 리소스 경로, 계층적 구조
  • 쿼리 파라미터(q=hello&hl=ko)
    key = value 형태로 되어 있다.
    Query parameter, query string으로 불린다.

웹 브라우저 요청 흐름

  1. 사용자가 브라우저에 https://www.google.com/search?q=hello&hl=ko 을 입력한다
  2. 브라우저는 DNS를 통해 도메인에 매칭되는 도착지 IP를 찾는다.
  3. HTTP 프로토콜을 이용하여 HTTP Request 메세지를 생성한다.
  4. TCP/IP 프로토콜을 이용하여 HTTP Request 메세지를 서버에 전달한다.
  5. 서버는 HTTP 프로토콜을 이용하여 HTTP Response 메세지를 생성한다.
  6. TCP/IP 프로토콜을 이용하여 HTTP Response 메세지를 브라우저에 전달한다.
  7. 브라우저는 response를 파싱하여 화면을 렌더링하여 사용자에게 보여준다.
profile
화이팅 🥹

0개의 댓글