๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์›น ์„œ๋น„์Šค

URI์™€ ์›น ๋ธŒ๋ผ์šฐ์ € ์š”์ฒญ ํ๋ฆ„

by alswlfl 2022. 11. 29.

URI(Uniform Resource Identifier)

: ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„(์ž์› ์ž์ฒด๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•)ํ•˜๋Š” ํ†ตํ•ฉ๋œ ๋ฐฉ๋ฒ•

  • URI: ๋กœ์ผ€์ดํ„ฐ(locator), ์ด๋ฆ„(name) ๋˜๋Š” ๋‘˜ ๋‹ค ์ถ”๊ฐ€๋กœ ๋ถ„๋ฅ˜๋  ์ˆ˜ ์žˆ๋‹ค.
  • URL(Resource Locator): ๋ฆฌ์†Œ์Šค์˜ ์œ„์น˜
  • URN(Resource Name): ๋ฆฌ์†Œ์Šค์˜ ์ด๋ฆ„

URI, URL, URN

URI ๋‹จ์–ด ๋œป

Uniform: ๋ฆฌ์†Œ์Šค ์‹๋ณ„ํ•˜๋Š” ํ†ต์ผ๋œ ๋ฐฉ์‹

Resource: ์ž์›, URI๋กœ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ(์ œํ•œ ์—†์Œ)

Identifier: ๋‹ค๋ฅธ ํ•ญ๋ชฉ๊ณผ ๊ตฌ๋ถ„ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ •๋ณด

 

URL๊ณผ URN ๋‹จ์–ด ๋œป

URL: Uniform Resource Locator

URN: Uniform Resource Name

 

URL: Locater, ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ๋Š” ์œ„์น˜๋ฅผ ์ง€์ •

URN: Name, ๋ฆฌ์†Œ์Šค์— ์ด๋ฆ„์„ ๋ถ€์—ฌ

  • ์œ„์น˜๋Š” ๋ณ€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด๋ฆ„์€ ๋ณ€ํ•˜์ง€ ์•Š์Œ
  • urn:isbn:8960777331 (์–ด๋–ค ์ฑ…์˜ isbn URN)
  • URN ์ด๋ฆ„๋งŒ์œผ๋กœ ์‹ค์ œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ๋ณดํŽธํ™” ๋˜์ง€ ์•Š์Œ
  • ์•ž์œผ๋กœ URI๋ฅผ URL๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์ธ์‹

 

URL ์ „์ฒด ๋ฌธ๋ฒ•

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

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

 

1. scheme(์ฃผ๋กœ ํ”„๋กœํ† ์ฝœ ์‚ฌ์šฉ)

ํ”„๋กœํ† ์ฝœ(https): ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ž์›์— ์ ‘๊ทผํ•  ๊ฒƒ์ธ๊ฐ€ ์ •ํ•œ ์•ฝ์† ๊ทœ์น™

ex) http, https, ftp ๋“ฑ๋“ฑ

- http๋Š” 80 ํฌํŠธ, https๋Š” 443 ํฌํŠธ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉ, ํฌํŠธ๋Š” ์ƒ๋žต ๊ฐ€๋Šฅ

- https๋Š” http์— ๋ณด์•ˆ ์ถ”๊ฐ€(HTTP Secure)

2. userinfo

- URL์— ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ํฌํ•จํ•ด์„œ ์ธ์ฆ

- ๊ฑฐ์˜ ์‚ฌ์šฉ ์•ˆํ•จ

3. host

- ํ˜ธ์ŠคํŠธ๋ช…(www.google.com)

- ๋„๋ฉ”์ธ ๋ช… ๋˜๋Š” IP ์ฃผ์†Œ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

4. PORT

- ํฌํŠธ ๋ฒˆํ˜ธ(443)

- ์ ‘์† ํฌํŠธ

- ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ๋žต, ์ƒ๋žต์‹œ http๋Š” 80, https๋Š” 443

5. path

- path(/search)

- ๋ฆฌ์†Œ์Šค ๊ฒฝ๋กœ(path), ๊ณ„์ธต์  ๊ตฌ์กฐ

- ex) /home/file1.jpg, /memeber, /members/100, /items/iphone12

6. query

- ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ(q=hello&hl=ko) 

- key=value ํ˜•ํƒœ

- ?๋กœ ์‹œ์ž‘, &๋กœ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ ?keyA=valueA&keyB=valueB

- query parameter, query string ๋“ฑ์œผ๋กœ ๋ถˆ๋ฆผ, ์›น ์„œ๋ฒ„์— ์ œ๊ณตํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ, ๋ฌธ์ž ํ˜•ํƒœ

7. fragment

- html ๋‚ด๋ถ€ ๋ถ๋งˆํฌ ๋“ฑ์— ์‚ฌ์šฉ

- ์„œ๋ฒ„์— ์ „์†กํ•˜๋Š” ์ •๋ณด ์•„๋‹˜


์›น ๋ธŒ๋ผ์šฐ์ € ์š”์ฒญ ํ๋ฆ„

HTTP ์š”์ฒญ ๋ฉ”์‹œ์ง€

ex)

GET /search?q=hello&hl=ko HTTP/1.1
Host: www.google.com     

HTTP ๋ฉ”์‹œ์ง€ ์ „์†ก

HTTP ๋ฉ”์‹œ์ง€ ์ „์†ก

1. ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTTP ๋ฉ”์‹œ์ง€ ์ƒ์„ฑ

2. SOCKET ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ(TCP/IP ์—ฐ๊ฒฐ, ๋ฐ์ดํ„ฐ ์ „๋‹ฌ)

3. TCP/IP ํŒจํ‚ท ์ƒ์„ฑ, HTTP ๋ฉ”์‹œ์ง€ ํฌํ•จ

 

HTTP ์‘๋‹ต ๋ฉ”์‹œ์ง€

ex)

HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 3423

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

์›น ๋ธŒ๋ผ์šฐ์ € ์š”์ฒญ ํ๋ฆ„

1. ํด๋ผ์ด์–ธํŠธ์—์„œ ํ•ด๋‹น ์„œ๋ฒ„๋กœ HTTP ๋ฉ”์‹œ์ง€๊ฐ€ ํฌํ•จ๋œ TCP/IP ํŒจํ‚ท ์ „์†ก

2. ์ „์†ก๋ฐ›์€ ์„œ๋ฒ„๋Š” ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ HTTP์‘๋‹ต ๋ฉ”์‹œ์ง€ ์ „์†ก

3. ์‘๋‹ต ๋ฐ›์€ ๋ฉ”์‹œ์ง€๋กœ ์›น ๋ธŒ๋ผ์šฐ์ € HTML ๋ Œ๋”๋ง

'์›น ์„œ๋น„์Šค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

HTTP ์ƒํƒœ์ฝ”๋“œ  (0) 2022.12.02
HTTP ๋ฉ”์„œ๋“œ ํ™œ์šฉ  (0) 2022.12.01
HTTP ๋ฉ”์„œ๋“œ  (0) 2022.11.30
HTTP ๊ธฐ๋ณธ  (0) 2022.11.29
์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ  (0) 2022.11.29