반응형

2. URI와 웹 브라우저 요청 흐름

2.1. URL (Uniform Resource Identifier)

'URI? URL? URN?'

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

  • URI와 URL이 혼동되기 쉽다. 결론부터 말하자면 URI는 URL와 URN의 상위 개념이다.

 

 

[ URI 단어 뜻 ]

  • Uniform: 리소스 식별하는 통일된 방식
  • Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음)
  • Identifier: 다른 항목과 구분하는데 필요한 정보

[ URL, URN ]

  • URL - Locator: 리소스가 있는 위치를 지정
  • URN - Name: 리소스에 이름을 부여
  • 위치는 변할 수 있지만, 이름은 변하지 않는다.
  • 통상적으로 URI와 URL을 같은 의미로 사용하기도 한다.

[ URL 문법 ]

https://www.google.com:443/search?q=hello&hl=ko 
 

헬로

아델의 노래

www.google.com

  • 프로토콜 (https)
  • 호스트명 (www.google.com)
  • 포트 번호 (443, 생략가능)
  • 패스 (/search)
  • 쿼리 파라미터 (q=hello&hl=ko)

 

2.2. 웹 브라우저 요청 흐름

'브라우저에 검색창에 'www.google.com'을 입력하면 일어나는일'

  1.  'www.google.com'에 대한 DNS 서버를 조회
    • IP와 PORT 정보를 얻는다
    • 캐싱된 DNS 기록을 체크
  2.  웹 브라우저가 HTTP 요청 메시지를 생성
  3.  SOKET 라이브러리를 통해 OS 단으로 HTTP 메시지를 전달한다.
    • TCP/IP 연결 (구글 서버와 연결 상태 확인)
    • 데이터 전달 (OS 단으로)
  4.  TCP/IP 패킷 생성, HTTP 메시지 포함
  5.  웹 브라우저에서 요청 패킷을 구글 서버에 전달 / 도착
  6.  구글 서버에서 HTTP 요청 메시지에 대한 HTTP 응답 메시지 생성
  7.  구글 서버에서 응답 패킷을 웹 브라우저에 전달 / 도착
  8.  받은 응답 패킷을 기준으로 웹 브라우저에 HTML 렌더링

 

References

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC

+ Recent posts