JUST DO IT!

[TIL]KDT_20230418 ๋ณธ๋ฌธ

TIL

[TIL]KDT_20230418

sunhokimDev 2023. 4. 18. 16:09

๐Ÿ“š KDT WEEK 3 DAY 2 TIL

  • HTTP
  • HTML
  • ์œค๋ฆฌ์ ์œผ๋กœ HTTP ํ†ต์‹ ํ•˜๊ธฐ

 


 

๐ŸŸฅ HTTP (Hypertext Transfer Protocol)

์›น ์ƒ์—์„œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ ์•ฝ์†

  • ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์„ HTTP ์š”์ฒญ(Request)๋ผ๊ณ  ํ•œ๋‹ค.
  • ์š”์ฒญ๋ฐ›์€ Request์— ์‘๋‹ตํ•˜์—ฌ ๋ณด๋‚ด์ฃผ๋Š” ๊ฒƒ์„ HTTP ์‘๋‹ต(Response)๋ผ๊ณ  ํ•œ๋‹ค.
  • HTTP ์š”์ฒญ/์‘๋‹ต์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๋Š” Head์™€ ๋‚ด์šฉ๋ฌผ์ธ Body๋กœ ๋‚˜๋‰œ๋‹ค
    • Head : ๋ณด๋‚ด๋Š” ์‚ฌ๋žŒ, ๋ฐ›๋Š” ์‚ฌ๋žŒ.. ๋“ฑ์˜ ์š”์ฒญ/์‘๋‹ต์— ๋Œ€ํ•œ ์ •๋ณด
    • Body : ๋ณด๋‚ด๋Š” ๋‚ด์šฉ๋ฌผ

 


 

๐ŸŸง HTML

HTTP ์‘๋‹ต์˜ Body, ์›น ํŽ˜์ด์ง€๋ฅผ ๊ทธ๋ฆด ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋งˆํฌ์—… ์–ธ์–ด

  • ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์—ญํ•  : HTML ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  โžก ๋ฐ›์€ ์‘๋‹ต์„ ํ™”๋ฉด์— ๊ทธ๋ ค์ค€๋‹ค!
  • HTML์˜ ์š”์†Œ(element) : ํƒœ๊ทธ โžก ์—ฌ๋Š” ํƒœ๊ทธ, ๋‹ซ๋Š” ํƒœ๊ทธ๋ฅผ ํฌํ•จํ•œ ๊ฒƒ์ด ํ•˜๋‚˜์˜ ์š”์†Œ
  • ํƒœ๊ทธ๋กœ ๋‚ด์šฉ์„ ๋ฌถ์–ด ๊ธ€์˜ ํ˜•์‹์„ ์ง€์ •ํ•˜๊ณ , ๊ทธ์— ๋งž๋Š” ์†์„ฑ(attribute)์„ ๊ฐ€์ง€๊ธฐ๋„ ํ•œ๋‹ค.
    • ์›น ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ์ง€์›ํ•˜๋Š” ํƒœ๊ทธ์™€ ์†์„ฑ์ด ๋‹ค๋ฅด๋‹ค!
  • HTML์•ˆ์—์„œ ์–ด๋””์— ์žˆ๋Š”์ง€, ์–ด๋–ค ํƒœ๊ทธ๋กœ ๋ฌถ์—ฌ์žˆ๋Š”์ง€ ์›ํ•˜๋Š” ๋‚ด์šฉ์„ ์ฐพ๋Š” ๊ฒƒ์ด ๊ด€๊ฑด!

 


 

๐ŸŸจ HTTP ํ†ต์‹ ํ•˜๊ธฐ

  • get ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ํŠน์ • URL์— Request๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

๋„ค์ด๋ฒ„์—๊ฒŒ์„œ ์‘๋‹ต์„ ๋ฐ›์•„ header๋ฅผ ์ถœ๋ ฅํ–ˆ๋‹ค.

 

  • post ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ๋‚˜์˜ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋ฉฐ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋‹ค.

payload์— ์ „๋‹ฌํ•  ์ •๋ณด๋ฅผ ๋„ฃ๊ณ  webhook์— ๋ณด๋‚ด๋Š” ์ฝ”๋“œ, ์ œ๋Œ€๋กœ ์ „๋‹ฌํ–ˆ๋‹ค๋ฉด 200์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

webhook์—์„œ ์ •๋ณด๋ฅผ ์ž˜ ์ „๋‹ฌ๋ฐ›์•˜๋‹ค!

 


 

๐ŸŸฉ ์œค๋ฆฌ์ ์œผ๋กœ ์›น ์Šคํฌ๋ž˜ํ•‘, ํฌ๋กค๋ง ์ง„ํ–‰ํ•˜๊ธฐ

์›น ์Šคํฌ๋ž˜ํ•‘ : ์›น ํŽ˜์ด์ง€๋“ค๋กœ๋ถ€ํ„ฐ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ์ •๋ณด(ํŠน์ • ๋ฐ์ดํ„ฐ)๋ฅผ ์ถ”์ถœ โžก ๋ฐ์ดํ„ฐ ์ถ”์ถœ

  • ex) ๋‚ ์”จ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ, ์ฃผ์‹ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ..

์›น ํฌ๋กค๋ง : ํฌ๋กค๋Ÿฌ(Crawler)๋ฅผ ์ด์šฉํ•ด์„œ ์›น ํŽ˜์ด์ง€์˜ ์ •๋ณด๋ฅผ ์ธ๋ฑ์‹ฑ โžก ๋ฐ์ดํ„ฐ ์ƒ‰์ธ

  • URL์„ ํƒ€๊ณ ๋‹ค๋‹ˆ๋ฉฐ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ณผ์ •
  • ex) ๊ฒ€์ƒ‰ ์—”์ง„์˜ ์›น ํฌ๋กค๋Ÿฌ 

 

์˜ฌ๋ฐ”๋ฅด๊ฒŒ HTTP ์š”์ฒญํ•˜๊ธฐ

  • ์›น ์Šคํฌ๋ž˜ํ•‘/ํฌ๋กค๋ง์„ ํ†ตํ•ด ์–ด๋–ค ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๊ณ ์ž ํ•˜๋Š”๊ฐ€?
  • ๋‚˜์˜ ์›น ์Šคํฌ๋ž˜ํ•‘/ํฌ๋กค๋ง์ด ์„œ๋ฒ„์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€๋Š” ์•Š๋Š”๊ฐ€?

 

REP(Robot Exclusion Protocol) : ๋กœ๋ด‡ ๋ฐฐ์ œ ํ”„๋กœํ† ์ฝœ

robots.txt?

  • ์›น ์‚ฌ์ดํŠธ ๋ฐ ์›น ํŽ˜์ด์ง€๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๋กœ๋ด‡๋“ค์˜ ๋ฌด๋‹จ ์ ‘๊ทผ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ REP
  • ์ผ๋ถ€ ์ŠคํŒธ ๋ด‡์ด๋‚˜ ๊ฐ€์งœ ํด๋ผ์ด์–ธํŠธ ๋กœ๋ด‡์„ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ(user agent) ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•œ๋‹ค
    • HTTP ํ—ค๋”์— ๋‚˜์˜ ๋ธŒ๋ผ์šฐ์ € ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ์›น ์„œ๋ฒ„๊ฐ€ ๋‚˜๋ฅผ ์ง„์งœ ์‚ฌ์šฉ์ž๋กœ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

์ด์ฒ˜๋Ÿผ ์‚ฌ์ดํŠธ URL ๋’ค์— /robots.txt๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์š”์ฒญํ•˜๋ฉด ํ•ด๋‹น ์‚ฌ์ดํŠธ์˜ robots.txt๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

  • User-agent : ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋Œ€์ƒ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ( * ๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค)
  • Disallow : ํฌ๋กค๋ง์„ ๊ธˆ์ง€ํ•  ์›น ํŽ˜์ด์ง€ ( / ๋Š” ๋ชจ๋“  ์š”์ฒญ์„ ์˜๋ฏธํ•œ๋‹ค )
  • Allow : ํฌ๋กค๋ง์„ ํ—ˆ์šฉํ•  ์›น ํŽ˜์ด์ง€ ( /$ ๋Š” ๋ชจ๋“  ํ•˜์œ„ ์ˆ˜์ค€ URL์„ ์ œ์™ธํ•œ ๋ฃจํŠธ URL์„ ์˜๋ฏธํ•œ๋‹ค )

 


 

๐ŸŸฆ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTML์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•

DOM(Document Object Model)

html์„ ์ž˜๊ฒŒ ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ๋‚˜๋ˆ„์–ด ํŒŒ์‹ฑํ•œ ํ˜•ํƒœ (๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•˜๋Š” ์ผ!)

  • ๊ฐ ๋…ธ๋“œ๋ฅผ ๊ฐ์ฒด๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋ฌธ์„œ๋ฅผ ๋”์šฑ ํŽธ๋ฆฌํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ!
  • DOM Tree๋ฅผ ์ˆœํšŒํ•ด์„œ ํŠน์ • ์›์†Œ๋ฅผ ์ฐพ์•„๋‚ด๊ฑฐ๋‚˜ ์ถ”๊ฐ€, ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค โžก ๋™์ ์œผ๋กœ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ

 

DOM์˜ ์˜ˆ์‹œ

 


 

๐Ÿค” ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์–ด๋ ค์› ๋˜ ๋‚ด์šฉ

REP์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ์ดํ•ด๊ฐ€ ๊ฐ€์ง€ ์•Š์•„์„œ robots.txt์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋” ์ฐพ์•„๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค.

ํ”„๋กœํ† ์ฝœ์ด๋ผ๊ณ  ํ•˜๊ธฐ์—” ๊ฐ•์ œ์„ฑ์ด ์—†์–ด ํฌ๋กค๋Ÿฌ๊ฐ€ ์ด๋ฅผ ๋ฌด์‹œํ•  ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ robots.txt๋ฅผ ์ ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ช‡๊ฐ€์ง€ ์žˆ์—ˆ๋‹ค.

  1. ๊ฒ€์ƒ‰์—”์ง„ ํฌ๋กค๋Ÿฌ์˜ ๊ณผ๋„ํ•œ ํฌ๋กค๋ง ๋ฐ ์š”์ฒญ์œผ๋กœ ์ธํ•œ ๊ณผ๋ถ€ํ•˜ ๋ฐฉ์ง€
  2. ํฌ๋กค๋Ÿฌ์˜ Crawl budget(์ผ์ผ ์š”์ฒญ ์ˆ˜)์˜ ๋‚ญ๋น„๋ฅผ ๋ฐฉ์ง€ํ•˜์—ฌ ๊ฒฐ๊ณผ์™€ ์‹œ๊ฐ„ ์†์‹ค ์ค„์ด๊ธฐ
  3. ์‚ฌ์ดํŠธ๋งต์˜ ์œ„์น˜๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๊ฒ€์ƒ‰์—”์ง„์—๊ฒŒ ๋น ๋ฅด๊ฒŒ ๋ฐœ๊ฒฌ๋  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค๊ธฐ

์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ๊ฑฐ์˜ ๋ชจ๋“  ์‚ฌ์ดํŠธ๊ฐ€ robots.txt๋ฅผ ์ ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

 

 

์ฐพ์•„๋ณด๋‹ˆ ์กฐ๊ธˆ ์žฌ๋ฐŒ๋Š” ์˜ˆ์‹œ๋„ ์žˆ์—ˆ๋‹ค  ๐Ÿคฃ

 

 

'TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TIL]KDT_20230420  (0) 2023.04.20
[TIL]KDT_20230419  (0) 2023.04.19
[TIL]KDT_20230417  (0) 2023.04.17
[TIL] KDT_20230414  (0) 2023.04.14
[TIL] KDT_20230413  (0) 2023.04.13