๋กœ์ผ“๐Ÿพ
Published 2021. 7. 30. 09:05
[Linux] wget, curl ์ฐจ์ด ...

1. wget vs curl

  • wget ๊ณผ curl ์€ ๋‘˜ ๋‹ค ์›น ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ปจํ…์ธ ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” Linux ์ปค๋งจ๋“œ์ž…๋‹ˆ๋‹ค.
  • wget ๊ณผ curl ์€ ๊ฑฐ์˜ ์œ ์‚ฌํ•˜์ง€๋งŒ ์กฐ๊ธˆ ๋‹ค๋ฅธ ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค.

1.1. ๊ณตํ†ต์ 

  • HTTP, HTTPS, FTP ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ปจํ…์ธ ๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•˜๋Š” ์ปค๋งจํŠธ ๋ผ์ธ ํˆด์ž…๋‹ˆ๋‹ค.
  • HTTP POST request ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. (์ฆ‰, ์›น์‚ฌ์ดํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)
  • HTTP ์ฟ ํ‚ค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ์Šคํฌ๋ฆฝํŠธ์ฒ˜๋Ÿผ ์‚ฌ์šฉ์ž ์ธํ„ฐ๋ ‰์…˜์—†์ด ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์˜คํ”ˆ์†Œ์Šค์ด๋ฉฐ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค.
  • 90๋…„๋Œ€์— ์‹œ์ž‘ํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. (wget ์€ 1995๋…„, curl ์€ 1996๋…„์— ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.)
  • metalink ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

1.2. ์ฐจ์ด์ 

  • wget
    • ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ์ž…๋‹ˆ๋‹ค.
    • ๋ณ„๋„์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • ์žฌ๊ท€์ ์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
      • ์ฆ‰, ํŽ˜์ด์ง€์— ์žˆ๋Š” ๋ชจ๋“  ๋‚ด์šฉ์ด๋‚˜ FTP ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ๋“ค์„ ํ•œ ๋ฒˆ์— ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•ด ์˜ต๋‹ˆ๋‹ค.
    • curl ์— ๋น„ํ•˜์—ฌ ๋” ์˜ค๋ž˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • GNU ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.
  • curl
    • libcurl ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋” ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ถ”๊ฐ€/์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • stdin ๋˜๋Š” stdout ์˜ pipe ๋ฅผ ์ด์šฉํ•˜๋Š” ์ „ํ†ต์ ์ธ unix ์Šคํƒ€์ผ์˜ ๋ฐฉ์‹๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • LDAP ์ด๋‚˜ Samba ๊ณต์œ ๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • ์–‘๋ฐฉํ–ฅ์ž…๋‹ˆ๋‹ค. (wget ์€ ์ผ๋ฐ˜ HTTP POST request ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.)
    • SSL ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • gzip ์••์ถ• ๋ฐ ํ•ด์ง€๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • MIT ๋ผ์ด์„ผ์Šค์ž…๋‹ˆ๋‹ค.

1.3. ๊ฒฐ๋ก 

  • ๋งŒ์•ฝ, ๋ณ„๋‹ค๋ฅธ ์˜ต์…˜์—†์ด ์ปจํ…์ธ ๋ฅผ ์กฐ๊ธˆ ๋” ๋น ๋ฅด๊ฒŒ ๋‹ค์šด๋กœ๋“œํ•˜๋ ค๊ณ  ํ•œ๋‹ค๋ฉด wget ์ด ์ ํ•ฉํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • ํ•˜์ง€๋งŒ, ์กฐ๊ธˆ ๋” ๋ณต์žกํ•œ ์ปจํ…์ธ ๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค๋ฉด wget ๋ณด๋‹ค๋Š” curl ์ด ์ ํ•ฉํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜

wget vs curl