โจCURL ์ด๋?
curl ์ ๋ช ์นญ์ "client URL" ์ ๋ํํ๋ ๊ฒ์ผ๋ก 1997๋ ์ ์ฒ์ ์ถ์๋์๋ค.
์ฆ ํด๋ผ์ด์ธํธ๊ฐ ์คํฌ๋ฆฝํธ๋ก์จ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋๊ฒ์ ๋งํ๋ค.
URL์ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ(transferring) ์ํ์ฌ
๋ช ๋ น ์ค ๋๊ตฌ(command line tool)์ ์คํฌ๋ฆฝํธ(scripts)์์ ์ฌ์ฉํ ์ ์๋
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ C ๊ธฐ๋ฐ์ ์ปดํจํฐ ์ํํธ์จ์ด ํ๋ก์ ํธ์ด๋ค.
โจCURL ์ด ๋ฌด์์ ์ฐ์ด๋์?
curl์ ๋ค์ํ ๊ณณ์์ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค.
์๋์ฐจ, ํ ๋ ๋น์ , ๋ผ์ฐํฐ, ํ๋ฆฐํฐ, ์ค๋์ค ์ฅ๋น, ํด๋ ์ ํ, ํ๋ธ๋ฆฟ, ์ ํฑ๋ฐ์ค, ๋ฏธ๋์ด ํ๋ ์ด์ด์์๋ ์ฌ์ฉ๋๋ฉฐ,
๋งค์ผ ์์ญ์ต ๋ช ์ ์ฌ๋๋ค์๊ฒ ์ํฅ์ ๋ฏธ์น๋ ์์ฒ ๊ฐ์ ์ํํธ์จ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ธํฐ๋ท ์ ์ก ํ๋กํ ์ฝ์ ๋๋ค.
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ํ๋กํ ์ฝ 4๊ฐ์ง
๐ธ์ฒซ ๋ฒ์งธ, HTTP ํ๋กํ ์ฝ
HTTP: HTTP(Hypertext Transfer Protocol)๋ ์ธํฐ๋ท์์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ์๋ฒ/ํด๋ผ์ด์ธํธ ๋ชจ๋ธ์ ๋ฐ๋ฅด๋ ํ๋กํ ์ฝ
์ ํ๋ฆฌ์ผ์ด์ ๋ ๋ฒจ์ ํ๋กํ ์ฝ๋ก TCP/IP์์์ ์๋ํ๋ค.
๊ฐ์ฅ ์ฑ๊ณต์ ์ธ ์ธํฐ๋ท ํ๋กํ ์ฝ์ด๋ค.
HTTP๊ฐ ์์๋ค๋ฉด ์ธํฐ๋ท์ ์ง๊ธ๊ณผ๋ ์ ํ ๋ค๋ฅธ ๋ชจ์ต์ด์์๊ฑฐ๋ค.
HTTP๋ ์ด๋ค ์ข ๋ฅ์ ๋ฐ์ดํฐ๋ ์ง ์ ์กํ ์ ์๋๋ก ์ค๊ณ๋ผ ์๋ค.
์ธํฐ๋ท์์์ ํํ ๋ณผ์ ์๋ HTML๋ก ์์ฑ๋ ๋ฌธ์๋ HTTP๋ก ๋ณด๋ผ ์ ์๋ ๋ฐ์ดํฐ์ ํ ์ข ๋ฅ์ผ ๋ฟ์ด๋ค.
์ด๋ฏธ์ง, ๋์์, ์ค๋์ค, ํ ์คํธ ๋ฌธ์๋ค ์๋ฌดํผ ์ข ๋ฅ๋ฅผ ๊ฐ๋ฆฌ์ง ์๋๋ค.
Transfer๋ผ๋ ํด์ ๊ทธ๋๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ฒ ๋ค๋ผ๋ ์๋ฏธ๋ก
์์ Hypertext ๊ฐ ๋ถ์ ์ด์ ๋ ํ์ดํผํ ์คํธ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ฒ ๋ค๋
๊ฐ๋จํ ๋งํด์ ๋งํฌ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ์ ์ ์ํ๊ฒ ๋ค๋ ์๋ฏธ๊ฐ ๋๊ฒ ๋ค.
HTTP๋ ์๋ฒ/ํด๋ผ์ด์ธํธ ๋ชจ๋ธ์ ๋ฐ๋ฅธ๋ค.
ํด๋ผ์ด์ธํธ์์ ์์ฒญ(request)๋ฅผ ๋ณด๋ด๋ฉด ์๋ฒ๋ ์์ฒญ์ ์ฒ๋ฆฌํด์ ์๋ต(response)ํ๋ค.
- ํด๋ผ์ด์ธํธ : ์๋ฒ์ ์์ฒญํ๋ ํด๋ผ์ด์ธํธ ์ํํธ์จ์ด๊ฐ ์ค์น๋ ์ปดํจํฐ. chrom, firefox, ie๋ฑ์ ํด๋ผ์ด์ธํธ ์ํํธ์จ์ด๋ฅผ ์ด์ฉํ๋ค. ํด๋ผ์ด์ธํธ๋ URI๋ฅผ ์ด์ฉํด์ ์๋ฒ์ ์ ์ํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ ์ ์๋ค.
- ์๋ฒ : ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ์์, ์์ฒญ์ ํด์ํ๊ณ ์๋ต์ ํ๋ ์ํํธ์จ์ด๊ฐ ์ค์น๋ ์ปดํจํฐ. Apache, nginx, IIS, lighttpd ๋ฑ์ด ์๋ฒ ์ํํธ์จ์ด๋ค.
์น์๋ฒ๋ ๋ณดํต ํ์คํฌํธ์ธ 80๋ฒ ํฌํธ๋ก ์๋น์คํ๋ค.
๐ธ ๋ ๋ฒ์งธ, FTP ํ๋กํ ์ฝ
File Transfer Protocol์ ์ค์๋ง์ด๋ค. ํ๋์ ํธ์คํธ์์ ๋ค๋ฅธ ํธ์คํธ๋ก ํ์ผ์ ์ฎ๊ธฐ๊ธฐ ์ํ TCP๊ธฐ๋ฐ ํ๋กํ ์ฝ์ด๋ค.
๋ณดํต FTP๋ ์น์์ ํ์ผ์ ์ฌ๋ฆฌ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์๋ค. FTP๋ ์๋ฒ&ํด๋ผ์ด์ธํธ ๋ชจ๋ธ์ ๋ฐ๋ฅธ๋ค. ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์ฐ๊ฒฐํด์ ํ์ผ ์ ๋ก๋ ๋ฐ ๋ค์ด๋ก๋ ์์ฒญ์ ํ๊ณ , ์์ฒญ์ ๋ฐ์ ์๋ฒ๊ฐ ์๋ต ๋ฐ์ดํฐ๋ก ํ์ผ์ ์ ์กํ๊ฑฐ๋ ์์ ํ๋ค.
๐ธ์ธ ๋ฒ์งธ, STMP ํ๋กํ ์ฝ
๊ฐ์ด ์ ์ ์ฐํธ ์ ์ก ํ๋กํ ์ฝ(Simple Mail Transfer Protocol, SMTP)์ ์ธํฐ๋ท์์ ์ด๋ฉ์ผ์ ๋ณด๋ด๊ธฐ ์ํด ์ด์ฉ๋๋ ํ๋กํ ์ฝ์ด๋ค.
์ฌ์ฉํ๋ TCP ํฌํธ๋ฒํธ๋ 25๋ฒ์ด๋ค.
์๋ ์๋ฒ๋ฅผ ์ง์ํ๊ธฐ ์ํด์ DNS์ MX๋ ์ฝ๋๊ฐ ์ฌ์ฉ๋๋ค. RFC2821์ ๋ฐ๋ผ ๊ท์ ๋์ด ์๋ค.
๋ฉ์ผ ์๋ฒ๊ฐ์ ์ก์์ ๋ฟ๋ง ์๋๋ผ, ๋ฉ์ผ ํด๋ผ์ด์ธํธ์์ ๋ฉ์ผ ์๋ฒ๋ก ๋ฉ์ผ์ ๋ณด๋ผ ๋์๋ ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
SMTP๋ ํ ์คํธ ๊ธฐ๋ฐ์ ํ๋กํ ์ฝ๋ก์ ์๊ตฌ/์๋ต ๋ฉ์์ง๋ฟ ์๋๋ผ ๋ชจ๋ ๋ฌธ์๊ฐ 7bit ASCII๋ก ๋์ด์์ด์ผ ํ๋ค๊ณ ๊ท์ ๋์ด ์๋ค.
์ด ๋๋ฌธ์ ๋ฌธ์ ํํ์ 8๋นํธ ์ด์์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ์ธ์ด๋
์ฒจ๋ถํ์ผ๊ณผ ์์ฃผ ์ฌ์ฉ๋๋ ๊ฐ์ข ๋ฐ์ด๋๋ฆฌ๋ ๋ง์(MIME)์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ฐฉ์์ผ๋ก 7๋นํธ๋ก ๋ณํ๋์ด ์ ๋ฌ๋๋ค.
SMTP๋ ๋ฉ์์ง๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๊ท์ ํ์ง ์๋๋ค.
๋ฉ์์ง ์์ฑ์ ์ํ์ฌ ๋ก์ปฌ ํธ์ง์ด๋ ๋จ์ํ ์ ์ ์ฐํธ ์์ฉ์ด ์ฌ์ฉ๋๋ค.
๋ฉ์์ง๊ฐ ์์ฑ๋๋ฉด ํธ์ถ๋ SMTP๊ฐ ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ TCP๋ฅผ ์ด์ฉํ์ฌ ๋ค๋ฅธ ํธ์คํธ์ SMTP์๊ฒ ์ ๋ฌํ๋ค.
๐ธ๋ค ๋ฒ์งธ, TELNET
ํ ๋ท.tele network์ ์ค๋ง.
๋ฉ๋ฆฌ ๋จ์ด์ง ์ปดํจํฐ์ ์ฐ๊ฒฐํด ์ด์ชฝ ์ปดํจํฐ๋ฅผ ๊ทธ์ชฝ์ ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ๋ง๋ค์ด ์ฃผ๋ ์ธํฐ๋ท ํ์ค ํ๋กํ ์ฝ์ด๋ค.
ํํ ์ปดํจํฐ ํต์ ์ ํ ๋ ์ฐ๋ ์ด์ผ๊ธฐ ๋ฑ๊ณผ ๊ฐ์ ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์๊ฐํ๋ฉด ๋๋ค.
๋ค๋ง ํ ๋ท์ ์ธํฐ๋ท์ ํตํด์ ์ฐ๊ฒฐ๋๋ค๋ ์ ๋ง์ด ๋ค๋ฅด๋ค.
์ค์ ๋ก ํ์ดํ ์ด๋ ์ฒ๋ฆฌ์ ๋ฑ PCํต์ ๋ ์ธํฐ๋ท์ ์ฐ๊ฒฐํ๋ฉด ํ ๋ท์ผ๋ก ๋ค์ด๊ฐ ์ ์๋ค.
ํ ๋ท ์ ์์ ํ๊ธฐ ์ํด์๋ ์ผ๋ฐ ํต์ ํ๋ก๊ทธ๋จ์ด๋ ํ ๋ท ์ ์ฉ ํ๋ก๊ทธ๋จ์ด ํ์ํ๋ค.
์ถ์ฒ : ๋งํฌ
๐curl ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ (http/https ๊ด๋ จ)
'์๋ฒ > Linux' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Linux] certbot 404 ์๋ฌ type: unauthorized ํด๊ฒฐํ๊ธฐ (2) | 2022.04.19 |
---|---|
[Linux] certbot ๋ช ๋ น์ผ๋ก ์ธ์ฆ์ ์ญ์ ํ๋๋ฐฉ๋ฒ (0) | 2022.04.19 |
[Linux] ๋ฆฌ๋ ์ค ๊ธฐ๋ณธ ๋ช ๋ น์ด (0) | 2022.04.13 |
[Linux] curl ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ (http/https ๊ด๋ จ) (0) | 2022.04.06 |
Firewalld is not running ํด๊ฒฐํ๊ธฐ (0) | 2022.02.09 |