# URI(Uniform Resource Identifier) - URL, URN
Study Repository

URI(Uniform Resource Identifier) - URL, URN

by rlaehddnd0422

URI ( Uniform Resource Identifier )

 

λ¦¬μ†ŒμŠ€λ₯Ό μ‹λ³„ν•˜λŠ” ν†΅ν•©λœ λ°©λ²•μœΌλ‘œ Locator, Name λ˜λŠ” μΆ”κ°€λ‘œ λΆ„λ₯˜λ  수 μžˆλ‹€.

  • Uniform : λ¦¬μ†ŒμŠ€ μ‹λ³„ν•˜λŠ” ν†΅μΌλœ 방식
  • Resource : μžμ›, URI둜 식별할 수 μžˆλŠ” λͺ¨λ“  것 (μ œν•œ X)
  • Identifier : λ‹€λ₯Έ ν•­λͺ©κ³Ό κ΅¬λΆ„λ˜λŠ”λ° ν•„μš”ν•œ 정보

 

  • URL : Uniform Resource Locator - λ¦¬μ†ŒμŠ€κ°€ μžˆλŠ” μœ„μΉ˜λ₯Ό 지정
  • URN : Uniform Resource Name - λ¦¬μ†ŒμŠ€μ— 이름을 λΆ€μ—¬

 

- μœ„μΉ˜λŠ” λ³€ν• μˆ˜ μžˆμ§€λ§Œ, 이름은 λ³€ν•˜μ§€ μ•ŠμŒ

- URI와 URL을 같은 의미둜 봐도 무방

 

URL 전체 문법

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

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

 

1. scheme ( https )

- 주둜 ν”„λ‘œν† μ½œ μ‚¬μš©

- http λŠ” 80, httpsλŠ” 443, 주둜 μƒλž΅ κ°€λŠ₯ν•˜λ‹€

- httpsλŠ” http에 λ³΄μ•ˆμ„ μΆ”κ°€ν•œ ν”„λ‘œν† μ½œ

 

2. userinfo@

- URL에 μ‚¬μš©μž 정보λ₯Ό ν¬ν•¨ν•΄μ„œ 인증. 거의 μ‚¬μš© X

 

3. host ( www.google.com ) 

- 호슀트λͺ…

- 도메인λͺ… λ˜λŠ” IPμ£Όμ†Œ 직접 μ‚¬μš©κ°€λŠ₯

 

4. PORT (:443)

- μ ‘μ†ν¬νŠΈλ‘œ 일반적으둜 μƒλž΅ 

 

5. path ( search )

- λ¦¬μ†ŒμŠ€ 경둜둜 계측적 ꡬ쑰λ₯Ό 가짐

ex) /members/100

 

6. query (?q=hello&hl=ko)

- key=value ν˜•νƒœ

- ?둜 μ‹œμž‘, &둜 μΆ”κ°€κ°€λŠ₯ ?keyA=valueA&keyB=valueB

 

7. #fragment

- html λ‚΄λΆ€ 뢁마크 등에 μ‚¬μš©

- μ„œλ²„μ— μ „μ†‘ν•˜λŠ” 정보가 μ•„λ‹˜.

 

ex) https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started-introducing-spring-boot

μ›Ή λΈŒλΌμš°μ € μš”μ²­ 흐름

1. μ›Ή λΈŒλΌμš°μ €κ°€ HTTP μš”μ²­ λ©”μ‹œμ§€ 생성

GET /serach?q=hello&hl=ko HTTP/1.1

Host: www.google.com

 

2. μ†ŒμΌ“ 라이브러리λ₯Ό 톡해 TCP/IP에 전달

- TCP/IP μ—°κ²° ( IP, PORTλ₯Ό 톡해 ) - > 전달 객체와 handshakeν•˜μ—¬ μ—°κ²°

- 데이터 전달

 

3. TCP/IP νŒ¨ν‚· 생성, HTTP λ©”μ‹œμ§€ 포함

- 좜발/λͺ©μ μ§€ IP,PORT 전솑데이터λ₯Ό ν¬ν•¨ν•œ TCP/IP νŒ¨ν‚·μ„ μƒμ„±ν•΄μ„œ 전달

 

4. μ„œλ²„μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈμ— HTTP 응닡 λ©”μ‹œμ§€ 리턴

 

HTTP/1.1 200 OK

Content-Type: text/html;charset=UTF-8 Content-Length: 3423

<html> <body>...</body>

</html>

 

λΈ”λ‘œκ·Έμ˜ 정보

Study Repository

rlaehddnd0422

ν™œλ™ν•˜κΈ°