Java

[웹]URI와 웹 브라우저 요청 흐름

gogi masidda 2023. 9. 13. 23:05

URI(Uniform Resource Identifier)

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

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

URI라는 가장 큰 개념.

URL: 리소스의 위치를 지정. 거의 이것만 사용

URN: 리소스의 이름을 부여

위치는 변할 수 있지만, 이름은 변하지 않는다. URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되지 않았다.

URL 문법

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

scheme는 보통 프로토콜 정보가 들어감

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

  • 프로토콜: https. https는 http에 보안 추
  • 호스트명: www.google.com. 도메인명이나 ip주소를 직접 입력 가능
  • 포트번호: 443. 접속 포트. 일반적으로 생략, 생략시 http는 80, https는 443
  • path: /search. 리소스 경로. 계층적 구조 (예) /home/file1.jpg, /members/100)
  • 쿼리 파라미터: q=hello&hl=ko. key=value형태, ?로 시작, &으로 추가 가능. ?keyA=valueA&keyB=valueB
  • fragment: 잘 사용하지 않음. html 내부 북마크 등에 사용. html내부에서 이동할 때. 서버에 전송하는 정보가 아님.

웹 브라우저 요청 흐름

  1. DNS를 조회하고 HTTP 요청 메세지를 생성한다.
  2. 인터넷 계층을 거쳐 패킷을 생성하고 HTTP 메세지를 전송한다.
  3. 서버에 요청 패킷을 전달한다.
  4. 서버에서 요청 패킷을 받아 응답 메세지를 만들고, 패킷을 만들어 웹 브라우저로 전송한다.
  5. 웹 브라우저는 http메세지를 받아 그 결과를 본다.

URI와 웹 브라우저 요청 흐름

URI(Uniform Resource Identifier)

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

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

URI라는 가장 큰 개념.

URL: 리소스의 위치를 지정. 거의 이것만 사용

URN: 리소스의 이름을 부여

위치는 변할 수 있지만, 이름은 변하지 않는다. URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되지 않았다.

URL 문법

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

scheme는 보통 프로토콜 정보가 들어감

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

  • 프로토콜: https. https는 http에 보안 추
  • 호스트명: www.google.com. 도메인명이나 ip주소를 직접 입력 가능
  • 포트번호: 443. 접속 포트. 일반적으로 생략, 생략시 http는 80, https는 443
  • path: /search. 리소스 경로. 계층적 구조 (예) /home/file1.jpg, /members/100)
  • 쿼리 파라미터: q=hello&hl=ko. key=value형태, ?로 시작, &으로 추가 가능. ?keyA=valueA&keyB=valueB
  • fragment: 잘 사용하지 않음. html 내부 북마크 등에 사용. html내부에서 이동할 때. 서버에 전송하는 정보가 아님.

웹 브라우저 요청 흐름

  1. DNS를 조회하고 HTTP 요청 메세지를 생성한다.
  2. 인터넷 계층을 거쳐 패킷을 생성하고 HTTP 메세지를 전송한다.
  3. 서버에 요청 패킷을 전달한다.
  4. 서버에서 요청 패킷을 받아 응답 메세지를 만들고, 패킷을 만들어 웹 브라우저로 전송한다.
  5. 웹 브라우저는 http메세지를 받아 그 결과를 본다.

URI와 웹 브라우저 요청 흐름

URI(Uniform Resource Identifier)

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

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

URI라는 가장 큰 개념.

URL: 리소스의 위치를 지정. 거의 이것만 사용

URN: 리소스의 이름을 부여

위치는 변할 수 있지만, 이름은 변하지 않는다. URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되지 않았다.

URL 문법

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

scheme는 보통 프로토콜 정보가 들어감

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

  • 프로토콜: https. https는 http에 보안 추
  • 호스트명: www.google.com. 도메인명이나 ip주소를 직접 입력 가능
  • 포트번호: 443. 접속 포트. 일반적으로 생략, 생략시 http는 80, https는 443
  • path: /search. 리소스 경로. 계층적 구조 (예) /home/file1.jpg, /members/100)
  • 쿼리 파라미터: q=hello&hl=ko. key=value형태, ?로 시작, &으로 추가 가능. ?keyA=valueA&keyB=valueB
  • fragment: 잘 사용하지 않음. html 내부 북마크 등에 사용. html내부에서 이동할 때. 서버에 전송하는 정보가 아님.

웹 브라우저 요청 흐름

  1. DNS를 조회하고 HTTP 요청 메세지를 생성한다.
  2. 인터넷 계층을 거쳐 패킷을 생성하고 HTTP 메세지를 전송한다.
  3. 서버에 요청 패킷을 전달한다.
  4. 서버에서 요청 패킷을 받아 응답 메세지를 만들고, 패킷을 만들어 웹 브라우저로 전송한다.
  5. 웹 브라우저는 http메세지를 받아 그 결과를 본다.
728x90