๐ ์ด ๊ธ์ ์ ์ฐ๋๊ฐ
์ฌ์ค ์ด ๊ธ์ ์ฐ๊ธฐ ์ํด ์น ์๋ฒ๋ ๋ฌด์์ธ๊ฐ๋ฅผ ์์ฑํ๋ค. ํ์ ๋คํธ์ํฌ์ ๊ด์ฌ์ด ๋ง์ ํต์ ์ ์ด๋ป๊ฒ ํ๋์ง ๋ ๋ฐฑ์๋ API get, post๋ฑ์ ์๋ฆฌ๊ฐ ์ ํํ ์ดํด๋์ง ์์๋๋ฐ ๋ง์นจ ๊น์ํ๋์ ๊ฐ์๊ฐ ๋์ ๋์๊ณ ์ง๊ธ ์ด๊ฑธ ๊ณต๋ถํด๋ ๋๋? ์ถ์ ํ์ด๋ฐ์ด์์ง๋ง ๊ถ๊ธํ ๋ ํด๋ฌ์ผ ์ธ์ ๊ฐ ์ฐ๋ฆฌ ํ๋ฉฐ ์ฟจ๊ฒฐ์ ํ ๋ฐ๋ก 5h30m ์์ฒญ์ ํ๋ค. ์ฌ์ค ๋ง์ง๋ง API ์ค๊ณ, ์ํ ์ฝ๋, ํค๋ ๋ฑ์ ๋ค์ ํ๋ฒ ๋ด์ผ๊ฒ ์ง๋ง ๊ทธ๋๋ ๋ญ, http๋ฅผ ์ ํํ ์ ๊ฒ๋ง์ผ๋ก ์ฒซ ๊ณต๋ถ๋ ์ฑ๊ณต์ด๋ค! ๊ณ ๋ก ๊ทธ ๋ด์ฉ์ ์ ๋ฆฌํด ๋ณด๋ ค ํ๋ค.๋คํธ์ํฌ ๊ด๋ฆฌ์ฌ ๊ณต๋ถ ๋ค์ ํด์ผํ๋..
๐ฅ ๊ฐ์ ์ ๋ณด: ๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC
ip(์ธํฐ๋ท ํ๋กํ ์ฝ): ์ต์ํ์ ๊ท์น
ip ์์ tcp๋ฅผ ์น์ด์ ๋ณด์ํด์ค๋ค.
ํ๋กํ ์ฝ ๊ณ์ธต: ์ ํ๋ฆฌ์ผ์ด์
, os, ๋คํธ์ํฌ ์ธํฐํ์ด์ค
URI(uniform Resource Identifier): resource๋ฅผ ์๋ณํ๋ ํตํฉ๋ ๋ฐฉ๋ฒ
URI: URL/ URN: URI๋ ๋ก์ผ์ดํฐ(locator)(๊น์ํ์ด ์ฌ๊ธฐ์ ์์ด์)(๋ฆฌ์์ค๊ฐ ์๋ ์์น๋ฅผ ์ง์ ), ์ด๋ฆ(name)(๊น์ํ)(๋ฆฌ์์ค์ ์ด๋ฆ์ ๋ถ์ฌ). (doc์ฐธ๊ณ )
URL: scheme(ํ๋กํ ์ฝ ์ ๋ณด) - authority(ํธ์คํธ๋ช
) - path(ํฌํธ๋ฒํธ, ๊ฒฝ๋ก) - query(์ฟผ๋ฆฌํ๋ผ๋ฏธํฐ) - fragmnet
: scheme://[userinfo@]host[:port][/path][?query][#fragment]
URN:scheme - path
์์น๋ ๋ณํ ์ ์์ง๋ง, ์ด๋ฆ์ ๋ณํ์ง ์๋๋ค. urn ์ด๋ฆ๋ง์ผ๋ก ์ค์ ๋ฆฌ์์ค๋ฅผ ์ฐพ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ๋ณดํธํ ๋์ง ์์. ๊ทธ๋ฌ๋ ์์ผ๋ก uri๋ฅผ url๊ณผ ๊ฐ์ ์๋ฏธ๋ก ์ด์ผ๊ธฐํ๊ฒ ์
์น ๋ธ๋ผ์ฐ์ ์์ฒญ ํ๋ฆ: ์น ๋ธ๋ผ์ฐ์ ์คํ -> DNS ์กฐํ -> ip๋์ด -> port ์ ๋ณด ์ฐพ์ -> http ์์ฒญ ๋ฉ์ธ์ง ์์ฑ -> http ๋ฉ์ธ์ง ์ ์ก(์น๋ธ๋ผ์ฐ์ -> socket ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์ ๋ฌ(tcp/ip ์ฐ๊ฒฐ-> ๋ฐ์ดํฐ ์ ๋ฌ) -> tcp/ip ํจํท ์์ฑ, http ๋ฉ์ธ์ง ํฌํจ-> ์ธํฐ๋ท->์๋ฒ)
์์ฒญ ํจํท ์ ๋ฌ(์ธํฐ๋ท๋ง์ผ๋ก ๋์ง๊ณ ๋ ธ๋๋ฅผ ํตํด์ ์๋ฒ๋ก ๊ฐ) -> ์์ฒญ ํจํท ๋์ฐฉ(tcp/ip ํจํท ๋ค ๊น์ ๋ฒ๋ฆฌ๊ณ http ๋ฉ์ธ์ง๋ง ๋์ง์ด๋ด์ ํด์์ ํ๋ค) -> ์๋ฒ์์ http ์๋ต ๋ฉ์ธ์ง๋ฅผ ๋ง๋ค์ด ๋(content-type ์ค์) -> ํจํท ์์ฐ๊ณ ๋ ์น๋ธ๋ผ์ฐ์ ์ ์๋ต ๋ณด๋ -> ์น๋ธ๋ผ์ฐ์ ๊ฐ ์๋ต ๋ฉ์ธ์ง๋ฅผ ๋ฐ๊ณ ๊น์ ๋ฐ๋ก ์น๋ธ๋ผ์ฐ์ html ๋ ๋๋ง -> ์ฐ๋ฆฌ๊ฐ ๋ณธ๋ค
http(hypertext transfer protocol): ๊ฑฐ์ ๋ชจ๋ ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ก ๊ฐ๋ฅ, ์๋ฒ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋๋ ๋๋ถ๋ถ http ์ฌ์ฉ/ 1.1 1997๋ : ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ, ์ฐ๋ฆฌ์๊ฒ ๊ฐ์ฅ ์ค์ํ ๋ฒ์ /2 2015๋ : ์ฑ๋ฅ ๊ฐ์ / 3 ์งํ์ค: tcp ๋์ ์ udp ์ฌ์ฉ, ์ฑ๋ฅ ๊ฐ์ ์ ์ด์
๊ธฐ๋ฐ ํ๋กํ ์ฝ: http 1.1 ์ฃผ๋ก ์ฌ์ฉ(์ด ์คํ์ ์ ์๋ฉด ๋), 2์ 3๋ ์ ์ ์ฆ๊ฐ( f11๋๋ฌ์ protocol ๋ณด๋ฉด h2,h3 ๋ณผ ์ ์์)
ํน์ง: ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ/ ๋ฌด์ํ ํ๋กํ ์ฝ(์คํ ์ด์ค๋ฆฌ์ค), ๋น์ฐ๊ฒฐ์ฑ, http ๋ฉ์์ง, ๋จ์ํจ, ํ์ฅ ๊ฐ๋ฅ
ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ
:request response ๊ตฌ์กฐ
:ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ณ , ์๋ต์ ๋๊ธฐ
:์๋ฒ๊ฐ ์์ฒญ์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด์ ์๋ต
ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ฅผ ๊ฐ๋ ์ ์ผ๋ก ๋ถ๋ฆฌํ๋ ๊ฒ ์ค์ํจ, ๋น์ง๋์ค๋ก์ง, ๋ฐ์ดํฐ ๊ฐ์ ๊ฑด ์๋ฒ์ ๋ค ๋ฃ๊ณ , ui๋ ์ฌ์ฉ์ฑ์ ํด๋ผ์ด์ธํธ์ ์ง์ค. ๊ฐ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐ์ ํ ์ ์๋ค. ๋น์ง๋์ค๊ฐ ์๋์ ํธ๋ํฝ์ด ํญํ๋๋ฉด ์๋ฒ์ ์ํคํ ์ฒ, ๋ฐฑ์๋ ๊ณ ๋ํ๋ฅผ ๊ณ ๋ฏผํ๋ฉด ๋. ํด๋ผ์ด์ธํธ๋ ๊ฑด๋ค ํ์ ์์ด.
์ํ์ ์ง์์ ์ค๊ฐ์ ์ ์์ด ๋ฐ๋๋ฉด ๊ผฌ์ธ๋ค. ์ํ ์ ๋ณด๋ฅผ ๋ฐ๋ ์ ์์๊ฒ ๋ฏธ๋ฆฌ ๋ค ์๋ ค์ค์ผํ๋๊น. ๊ทผ๋ฐ ๋ฌด์ํ์์ ์ค๊ฐ์ ์ ์์ด ๋ฐ๋์ด๋ ๋๋ค. ๊ฐ์๊ธฐ ๊ณ ๊ฐ์ด ์ฆ๊ฐํด๋ ์ ์์ ๋๊ฑฐ ํฌ์ ํ ์ ์๋ค. ๊ฐ์๊ธฐ ํด๋ผ์ด์ธํธ ์์ฒญ์ด ์ฆ๊ฐํด๋ ์๋ฒ๋ฅผ ๋๊ฑฐ ํฌ์ ํ ์ ์๋ค. ์ฆ ๋ฌด์ํ๋ ์๋ต ์๋ฒ๋ฅผ ์ฝ๊ฒ ๋ฐ๊ฟ ์ ์๋ค -> ๋ฌดํํ ์๋ฒ ์ฆ์ค ๊ฐ๋ฅ
so, ์ค์ผ์ผ ์์(์๋ฒ๋ฅผ ์ํ์ผ๋ก ํ์ฅํ๋ ๊ฒ)์ด ๊ฐ๋ฅํ๊ณ ์ ๋ฆฌํจ. ์ด๋ฒคํธ ํ์ด์ง๊ฐ ์์ผ๋ฉด ์ฅ๋น๋ฅผ ์๋ฐฑ๋ ํ ๋๋ ค๋ฒ๋ฆฌ๋ฉด ๋~
but, ์ค๋ฌด ํ๊ณ๊ฐ ์๋ค
๋ชจ๋ ๊ฒ์ ๋ฌด์ํ๋ก ์ค๊ณ ํ ์ ์๋ ๊ฒฝ์ฐ๋ ์๊ณ ์๋ ๊ฒฝ์ฐ๋ ์๋ค.
๋ฌด์ํ: ๋ก๊ทธ์ธ์ด ํ์ ์๋ ๋จ์ํ ์๋น์ค ์๊ฐ ํ๋ฉด/ ์ํ์ ์ง: ๋ก๊ทธ์ธ
๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ๊ฒฝ์ฐ ๋ก๊ทธ์ธ ํ๋ค๋ ์ํ๋ฅผ ์๋ฒ์ ์ ์ง(๋ธ๋ผ์ฐ์ ์ ์๋ ์ฟ ํค์ ์๋ฒ์ ์ธ์ ์ ์กฐํฉํด์ ์ํ๋ฅผ ์ ์งํ๋ ๊ธฐ๋ฅ์ ์ด๋ค. ์ธ์ ์๋ฒ๊ฐ ์ฃฝ์ด๋ฒ๋ฆฌ๋ฉด ๋ก๊ทธ์ธ์ด ํ๋ฆฐ๋ค. ๊ทธ๋์ ์ํ ์ ์ง๋ ์ต์ํ๋ง ์ฌ์ฉ)
stateful ๋ณด๋ค ๋ฐ์ดํฐ๋ฅผ ๋๋ฌด ๋ง์ด ๋ณด๋ธ๋ค.
์๋ฒ๊ฐ ์ฐ๊ฒฐ์ ๊ณ์ ์ ์งํ๋ฉด ์๋ฒ ์์์ ์๋ชจํ ์ ๋ฐ์ ์๋ค. ๊ทผ๋ฐ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์ฐ๊ฒฐ์ ๊ณ์ ์ ์งํ์ง ์์๋ ๋๋ฉด ์ฆ ์์ฒญํ ๋๋ง ์ฐ๊ฒฐ์ ํ๋ฉด ๋๋ค๋ฉด ์๋ฒ๋ ์ต์ํ์ ์์๋ง ์ ์งํ๋ฉด ๋๋ค.
http๋ ๊ธฐ๋ณธ์ด ์ฐ๊ฒฐ์ ์ ์งํ์ง ์๋ ๋ชจ๋ธ
์ผ๋ฐ์ ์ผ๋ก ์ด ๋จ์์ ์ดํ์ ๋น ๋ฅธ ์๋๋ก ์๋ต
1์๊ฐ ๋์ ์์ฒ๋ช ์ด ์๋น์ค๋ฅผ ์ฌ์ฉํด๋ ์ค์ ์๋ฒ์์ ๋์์ ์ฒ๋ฆฌํ๋ ์์ฒญ์ ์์ญ๊ฐ ์ดํ๋ก ๋งค์ฐ ์์
์๋ฒ ์์์ ๋งค์ฐ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์
but ๋จ์ ์ด ์๋ค.
tcp/ip ์ฐ๊ฒฐ์ ์๋ก ๋งบ์ด์ผ ํจ : 3 way handshake ์๊ฐ ์ถ๊ฐ
์น ๋ธ๋ผ์ฐ์ ๋ก ์ฌ์ดํธ๋ฅผ ์์ฒญํ๋ฉด html๋ฟ๋ง ์๋๋ผ js, css,์ถ๊ฐ ์ด๋ฏธ์ง ๋ฑ ์ ๋ง์ ์์์ด ํจ๊ป ๋ค์ด๋ก๋
์ง๊ธ์ http ์ง์ ์ฐ๊ฒฐ(persistent connections)๋ก ๋ฌธ์ ํด๊ฒฐ
http/2, http/3์์ ์ต์ ํ ๋จ(์ด๊ธฐ์ ์ง๊ธ ๋น๊ตํ ๊ฒ)(์ฐ๊ฒฐ-์์ฒญ-์๋ต ์ฐ๊ฒฐ-์์ฒญ-์๋ต ์ด๋ฌ๋๋ฐ ์ฐ๊ฒฐ-์์ฒญ-์๋ต-์์ฒญ-์๋ต-์ข ๋ฃ ์ด๋ ๊ฒ ๋)
so, ์ฒซ: ์ ์ ํ์ด์ง(์์ html) - ์ด๋ฒคํธ ์ฐธ์ฌ๋ฒํผ ๋๋ฅด๊ฒ
http ๋ฉ์์ง ๊ตฌ์กฐ: ์์๋ผ์ธ - ํค๋ - ๊ณต๋ฐฑ ๋ผ์ธ - message body (์์ฒญ/์๋ต ๋ฉ์์ง ๊ธฐ๋ณธ ๊ตฌ์กฐ)
์์๋ผ์ธ(์์ฒญ๋ฉ์์ง๋ ๋ฆฌํ์คํธ ๋ผ์ธ)
: header-field = field-name":"OWS fidel-value OWS (OWS: ๋์ด์ฐ๊ธฐ ํ์ฉ)(fiedl-name์ ๋์๋ฌธ์ ๊ตฌ๋ฌธ ์์, value๋ ์์)
: http์ ์ก์ ํ์ํ ๋ชจ๋ ๋ถ๊ฐ์ ๋ณด๊ฐ ๋ค ๋ค์ด์๋ค/ ํ์ค ํค๋๊ฐ ๋๋ฌด ๋ง์/ ํ์์ ์์์ ํค๋ ์ถ๊ฐ ๊ฐ๋ฅ
๋ฉ์ธ์ง ๋ฐ๋: ์ค์ ์ ์กํ ๋ฐ์ดํฐ, ๋ชจ๋ ๋ฐ์ดํฐ ์ ์ก ๊ฐ๋ฅ
http๋ ๋จ์ํจ. ์คํ๋ ์ฝ์ด๋ณผ๋ง.. ๋ฉ์ธ์ง๋ ๋งค์ฐ ๋จ์ํจ. ํฌ๊ฒ ์ฑ๊ณตํ๋ ํ์ค ๊ธฐ์ ์ ๋จ์ํ์ง๋ง ํ์ฅ ๊ฐ๋ฅํ ๊ธฐ์ ์
http ๋ฉ์๋ ์ข ๋ฅ
GET: ๋ฆฌ์์ค(representation) ์กฐํ
POST: ์์ฒญ ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ์ฃผ๋ก ๋ฑ๋ก์ ์ฌ์ฉ
PUT: ๋ฆฌ์์ค๋ฅผ ๋์ฒด, ํด๋น ๋ฆฌ์์ค๊ฐ ์์ผ๋ฉด ์์ฑ
PATCH: ๋ฆฌ์์ค ๋ถ๋ถ ๋ณ๊ฒฝ
DELETE: ๋ฆฌ์์ค ์ญ์
๊ธฐํ ๋ฉ์๋: HEAD(GET๊ณผ ๋์ผํ์ง๋ง ๋ฉ์์ง ๋ถ๋ถ์ ์ ์ธํ๊ณ , ์ํ ์ค๊ณผ ํค๋๋ง ๋ฐํ), OPTIONS(๋์ ๋ฆฌ์์ค์ ๋ํ ํต์ ๊ฐ๋ฅ ์ต์ ์ ์ค๋ช ),CONNECT(๋์ ์์์ผ๋ก ์๋ณ๋๋ ์๋ฒ์ ๋ํ ํฐ๋์ ์ค์ ), TRACE( ์ปค๋ฅํธ๋ ํธ๋ ์ด์ค๋ ๊ฑฐ์ ์์ฐ์)
์์ (safe): ํธ์ถํด๋ ๋ฆฌ์์ค๋ฅผ ๋ณ๊ฒฝํ์ง ์๋๋ค.
Q)๊ณ์ ํธ์ถํด์, ๋ก๊ทธ ๊ฐ์๊ฒ ์์ฌ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด?
A) ์์ ์ ํด๋น ๋ฆฌ์์ค๋ง ๊ณ ๋ คํ๋ค. ๊ทธ๋ฐ ๋ถ๋ถ๊น์ง ๊ณ ๋ ค ใด
๋จ, get๋ง ์์ ํจ. ๋๋จธ์ง ๋ค ๋ฐ๊พธ๋ ๊ฑฐ๋๊น ์์ ํ์ง ์์
๋ฉฑ๋ฑ(idempotent): ํ ๋ฒ ํธ์ถํ๋ ๋ ๋ฒ ํธ์ถํ๋ 100๋ฒ ํธ์ถํ๋ ๊ฒฐ๊ณผ๊ฐ ๋๊ฐ๋ค (get, put: ๊ฒฐ๊ณผ๋ฅผ ๋์ฒดํ๋๊น ๊ฐ์ ์์ฒญ์ ์ฌ๋ฌ๋ฒ ํด๋ ์ต์ข ๊ฒฐ๊ณผ๋ ๊ฐ์, delete/ post ๋ฉฑ๋ฑ์ด ์๋๋ค! ๋ ๋ฒ ํธ์ถํ๋ฉด ๊ฐ์ ๊ฒฐ์ ๊ฐ ์ค๋ณตํด์ ๋ฐ์ํ ์ ์์)
์๋๋ณต๊ตฌ ๋งค์ปค๋์ฆ์ ์ธ ์ ์์, ์๋ฒ๊ฐ ํ์์์ ๋ฑ์ผ๋ก ์ ์ ์๋ต์ ๋ชป ์ฃผ์์ ๋, ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ์ ์์ฒญ์ ๋ค์ ํด๋ ๋๋๊ฐ?์ ํ๋จ ๊ทผ๊ฑฐ (delete๋ ๋๊ฐ์ ์์ฒญ์ ๋๋ฒํด๋ ๋๋ค)
Q)์ฌ์์ฒญ ์ค๊ฐ์ ๋ค๋ฅธ ๊ณณ์์ ๋ฆฌ์์ค๋ฅผ ๋ณ๊ฒฝํด๋ฒ๋ฆฌ๋ฉด?
A)๋ฉฑ๋ฑ์ ์ธ๋ถ์์ธ์ผ๋ก ์ค๊ฐ์ ๋ฆฌ์์ค๊ฐ ๋ณ๊ฒฝ๋๋ ๊ฒ ๊น์ง๋ ๊ณ ๋ คํ์ง๋ ์๋๋ค. (์ค๊ฐ์ ๋ณ๊ฒฝ๋ ๋ฆฌ์์ค๋ก ๋์ด)
์บ์๊ฐ๋ฅ(cacheable): ์๋ต ๊ฒฐ๊ณผ ๋ฆฌ์์ค๋ฅผ ์บ์ํด์ ์ฌ์ฉํด๋ ๋๋๊ฐ?/ get, head, post, patch ์บ์๊ฐ๋ฅ/ ์ค์ ๋ก๋ get, head ์ ๋๋ง ์บ์๋ก ์ฌ์ฉ(๋๊ฐ์ ๋ฆฌ์์ค์ ํค๊ฐ ๋ง์์ผํ๋๋ฐ post๋ ๋ณต์กํด์ ๊ตฌํ์ด ์ ์๋)/ post,patch๋ ๋ณธ๋ฌธ ๋ด์ฉ๊น์ง ์บ์ ํค๋ก ๊ณ ๋ คํด์ผ ํ๋๋ฐ, ๊ตฌํ์ด ์ฝ์ง ์์
ํด๋ผ์ด์ธํธ์์ ์๋ฒ๋ก ๋ฐ์ดํฐ ์ ์กํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ 2๊ฐ์ง
4๊ฐ์ง ์ํฉ
์ ์ ๋ฐ์ดํฐ ์กฐํ: ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ ๋ฏธ์ฌ์ฉ/ํด๋ผ์ด์ธํธ์์ ์๋ฒ๋ก ์ด๋ฏธ์ง ๋ฆฌ์์ค ๊ฒฝ๋ก๋ก ๊ทธ๋ฅ ๋ด๋ ค์ค. ์ถ๊ฐ์ ์ธ ๋ฐ์ดํฐ๊ฐ ์์
๋์ ๋ฐ์ดํฐ ์กฐํ: ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ ์ฌ์ฉ/ ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ ฌ ํํฐ์์ ๊ฒฐ๊ณผ๋ฅผ ๋์ ์ผ๋ก ์์ฑ/ ์ฃผ๋ก ๊ฒ์, ๊ฒ์ํ ๋ชฉ๋ก์์ ์ ๋ ฌ ํํฐ(๊ฒ์์ด)/ ์กฐํ ์กฐ๊ฑด์ ์ค์ฌ์ฃผ๋ ํํฐ, ์กฐํ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ ฌํ๋ ์ ๋ ฌ ์กฐ๊ฑด์ ์ฃผ๋ก ์ฌ์ฉ/ ์กฐํ๋ get ์ฌ์ฉ/ get์ ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ
html form์ ํตํ ๋ฐ์ดํฐ ์ ์ก: ๋ญ๋ผ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค! ์น์๋ฒ ํ์ฑ? ์ ๋ชจ๋ฅด๊ฒ ๋ค!
method="post, get" ๋๋ค ๋
๋ชจ๋ฅด๊ฒ ๋ค!