Network
๐[Network] HTTP, API, URL, ์ฟผ๋ฆฌ, ๋ฐ๋
1๏ธโฃ HTTP๋ ๋ฌด์์ธ๊ฐ์?
-
HTTP(Hypertext Transfer Protocol) ๋ WWW(World Wide Web)์์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ๊ธฐ๋ณธ์ ์ธ ํ๋กํ ์ฝ์
๋๋ค.
- ์น ๋ธ๋ผ์ฐ์ ์ ์น ์๋ฒ ๊ฐ์ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ท์ฝ์ผ๋ก, ํด๋ผ์ด์ธํธ(Client, ์ฌ์ฉ์์ ์น ๋ธ๋ผ์ฐ์ )๊ฐ ์๋ฒ(Server)์ ์์ฒญ(Request)์ ๋ณด๋ด๊ณ , ์๋ฒ๊ฐ ์ด์ ๋ํ ์๋ต(Response)์ ๋ณด๋ด๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค.
1. HTTP์ ์ฃผ์ ํน์ง.
-
1. ํ
์คํธ ๊ธฐ๋ฐ ํ๋กํ ์ฝ.
- HTTP๋ ์ฌ๋์ด ์ฝ์ ์ ์๋ ํ
์คํธ ํ์์ผ๋ก ์์ฒญ๊ณผ ์๋ต์ ์ฃผ๊ณ ๋ฐ์ต๋๋ค.
- ์์ฒญ ๋ฉ์์ง์๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์๊ตฌํ๋ ์์
์ด, ์๋ต ๋ฉ์์ง์๋ ์๋ฒ๊ฐ ์์ฒญ์ ๋ํด ์ฒ๋ฆฌํ ๊ฒฐ๊ณผ๊ฐ ํฌํจ๋ฉ๋๋ค.
-
2. ๋น์ฐ๊ฒฐ์ฑ.
- HTTP๋ ๋น์ฐ๊ฒฐ์ฑ ํ๋กํ ์ฝ์
๋๋ค.
- ์ฆ, ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์์ฒญ์ ์ฒ๋ฆฌํ ๋๋ง ์ฐ๊ฒฐ์ ๋งบ๊ณ , ์๋ต์ด ์๋ฃ๋๋ฉด ์ฐ๊ฒฐ์ ๋์ต๋๋ค.
- ์ดํ ์์ฒญ์ด ์์ ๋๋ง๋ค ์๋ก์ด ์ฐ๊ฒฐ์ ๋งบ์ต๋๋ค.
- ์ด๋ฅผ ํตํด ์์ ์ฌ์ฉ์ ์ค์ผ ์ ์์ง๋ง, ์ง์์ ์ธ ์ฐ๊ฒฐ์ด ํ์ํ ์ ํ๋ฆฌ์ผ์ด์
์์๋ ํ๊ณ๊ฐ ์์ต๋๋ค.
-
3. ๋ฌด์ํ์ฑ.
- HTTP๋ ์ํ๋ฅผ ์ ์งํ์ง ์๋ ํ๋กํ ์ฝ์
๋๋ค.
- ์ฆ, ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๊ฐ๊ฐ ๋
๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ฉฐ, ์ด์ ์์ฒญ์ ์ํ๋ ์ ๋ณด๋ฅผ ๊ธฐ์ตํ์ง ์์ต๋๋ค.
- ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฟ ํค(cookie), ์ธ์
(session), JWT(Json Web Token)๋ฑ์ ์ฌ์ฉํ์ฌ ์ํ ์ ๋ณด๋ฅผ ์ ์งํฉ๋๋ค.
-
4. ํฌํธ ๋ฒํธ.
- HTTP๋ ๊ธฐ๋ณธ์ ์ผ๋ก 80๋ฒ ํฌํธ ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋ณด์์ด ๊ฐํ๋ HTTPS๋ 443๋ฒ ํฌํธ ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
2. HTTP์ ๋์ ๋ฐฉ์.
- HTTP๋ ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ๋ก ๋์ํ๋ฉฐ, ์ฃผ๋ก ์น ๋ธ๋ผ์ฐ์ ๊ฐ ํด๋ผ์ด์ธํธ ์ญํ ์ ํ๊ณ , ์น ์๋ฒ๊ฐ ์๋ฒ ์ญํ ์ ํฉ๋๋ค.
- ๊ธฐ๋ณธ์ ์ธ ์์ฒญ๊ณผ ์๋ต ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
1. ํด๋ผ์ด์ธํธ ์์ฒญ.
- ์ฌ์ฉ์๊ฐ ์น ๋ธ๋ผ์ฐ์ ์
http://example.com
๊ณผ ๊ฐ์ URL์ ์
๋ ฅํ๋ฉด, ํด๋ผ์ด์ธํธ(์น ๋ธ๋ผ์ฐ์ )๊ฐ ์๋ฒ์ HTTP ์์ฒญ์ ๋ณด๋
๋๋ค.
- ์ด ์์ฒญ์ ์น ํ์ด์ง๋ ์ด๋ฏธ์ง ํ์ผ๊ณผ ๊ฐ์ ์์์ ์๊ตฌํ๋ ๋ด์ฉ์
๋๋ค.
-
2. ์๋ฒ ์๋ต.
- ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํ ํ, ์์ฒญํ ์์(์: HTML ๋ฌธ์)์ HTTP ์๋ต์ผ๋ก ๋๋ ค์ค๋๋ค.
-
3. ์น ํ์ด์ง ํ์.
- ํด๋ผ์ด์ธํธ๋ ๋ฐ์ ์๋ต์ ํด์ํ์ฌ ์น ํ์ด์ง๋ฅผ ๋ ๋๋งํ๊ฑฐ๋ ์์์ ํ์ํฉ๋๋ค.
3. HTTP ์์ฒญ ๋ฉ์์ง ๊ตฌ์กฐ.
- HTTP ์์ฒญ ๋ฉ์์ง๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋๋ค.
-
1. ์์ฒญ ๋ผ์ธ(Request Line)
-
๋ฉ์๋(Method) : ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญํ๋ ์์
์ ๋ํ๋
๋๋ค.
-
GET
: ์๋ฒ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์์ฒญ.
-
POST
: ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ก.
-
PUT
: ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์
๋ฐ์ดํธ.
-
DELETE
: ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ .
-
URL : ์์ฒญํ๋ ค๋ ์์์ ์์น๋ฅผ ๋ํ๋
๋๋ค.
-
HTTP ๋ฒ์ : ์ฌ์ฉ ์ค์ธ HTTP ํ๋กํ ์ฝ์ ๋ฒ์ ์ ๋ณด์
๋๋ค.(์: HTTP/1.1)
- ์:
GET /index.html HTTP/1.1
-
2. ํค๋(Header)
- ์์ฒญ์ ๋ํ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์๋ฅผ ๋ค์ด,
User-Agent
ํค๋๋ ์์ฒญ์ ๋ณด๋ด๋ ํด๋ผ์ด์ธํธ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ผ๋ฉฐ, Accept
ํค๋๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฝํ ์ ์๋ ๋ฐ์ดํฐ ํ์์ ์ง์ ํฉ๋๋ค.
-
3. ๋ณธ๋ฌธ(Body)
-
POST
๋ PUT
๊ณผ ๊ฐ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก ์ ์กํ ๋ฐ์ดํฐ๋ฅผ ํฌํจํฉ๋๋ค.
-
GET
์์ฒญ์์๋ ๋ณธ๋ฌธ์ด ์๋ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์
๋๋ค.
4. HTTP ์๋ต ๋ฉ์์ง ๊ตฌ์กฐ.
-
1. ์ํ ๋ผ์ธ(Status Line)
-
HTTP ๋ฒ์
- ์๋ฒ๊ฐ ์ฌ์ฉํ๋ HTTP ๋ฒ์ ์
๋๋ค.
-
์ํ ์ฝ๋(Status Code)
- ์์ฒญ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด๋ ์ซ์ ์ฝ๋์
๋๋ค.
-
์ํ ์ค๋ช
(Status Text)
- ์ํ ์ฝ๋์ ๋ํ ์ค๋ช
์
๋๋ค.
- ์:
HTTP/1.1 200 OK
-
2. ํค๋(Header)
- ์๋ต์ ๋ํ ๋ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์๋ฅผ ๋ค์ด,
Content-Type
ํค๋๋ ์๋ต ๋ณธ๋ฌธ์ ๋ฐ์ดํฐ ํ์์ ์ง์ ํ๋ฉฐ, Content-Length
๋ ์๋ต ๋ฐ์ดํฐ์ ๊ธธ์ด๋ฅผ ๋ํ๋
๋๋ค.
-
3. ๋ณธ๋ฌธ(Body)
- ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ด๋ ์ค์ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, HTML ๋ฌธ์, ์ด๋ฏธ์ง, JSON ๋ฐ์ดํฐ ๋ฑ์ด ๋ณธ๋ฌธ์ ๋ด๊ธธ ์ ์์ต๋๋ค.
5. HTTP ์ํ ์ฝ๋.
- HTTP ์๋ต์์ ์ํ ์ฝ๋๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ์์ฒญ์ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋
๋๋ค. ์ฃผ์ ์ํ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
1xx (์ ๋ณด) : ์์ฒญ์ด ์์ ๋์ด ์ฒ๋ฆฌ ์ค์
์ ๋ํ๋
๋๋ค.
-
2xx (์ฑ๊ณต) : ์์ฒญ์ด ์ฑ๊ณต์ ์ผ๋ก ์ฒ๋ฆฌ๋์์์ ๋ํ๋
๋๋ค.
-
200 OK : ์์ฒญ์ด ์ฑ๊ณต์ ์ผ๋ก ์ฒ๋ฆฌ๋์์.
-
3xx (๋ฆฌ๋ค์ด๋ ์
) : ์์ฒญํ ์์์ด ์๊ตฌ์ ์ผ๋ก ๋ค๋ฅธ ์์น๋ก ์ด๋ํ์์ ๋ํ๋
๋๋ค.
-
301 Moved Permanently : ์์ฒญํ ์์์ด ์๊ตฌ์ ์ผ๋ก ๋ค๋ฅธ ์์น๋ก ์ด๋ํจ.
-
302 Found : ์์ฒญํ ์์์ด ์ผ์์ ์ผ๋ก ๋ค๋ฅธ ์์น๋ก ์ด๋ํจ.
-
4xx(ํด๋ผ์ด์ธํธ ์ค๋ฅ) : ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ค๋ฅ๊ฐ ์์์ ๋ํ๋
๋๋ค.
-
400 Bad Request : ์๋ชป๋ ์์ฒญ.
-
404 Not Found : ์์ฒญํ ์์์ด ์กด์ฌํ์ง ์์.
-
5xx(์๋ฒ ์ค๋ฅ) : ์๋ฒ์์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์์ ๋ํ๋
๋๋ค.
-
500 Internal Server Error : ์๋ฒ์์ ๋ฐ์ํ ์ผ๋ฐ์ ์ธ ์ค๋ฅ.
-
503 Service Unavailable : ์๋ฒ๊ฐ ํ์ฌ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์.
6. HTTP์ ํ๊ณ์ HTTPS
- HTTP๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ํธํ๋์ง ์์ ํ๋กํ ์ฝ ์
๋๋ค.
- ๋ฐ๋ผ์, ๋ฐ์ดํฐ๊ฐ ์ค๊ฐ์ ๊ฐ๋ก์ฑ๊ธฐ(์ค๋ํ) ๋นํ ์ ์์ผ๋ฉฐ, ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ๋ณดํธ๋์ง ์์ต๋๋ค.
- ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด HTTPS(Hypertext Transfer Protocol Secure) ๊ฐ ๋์
๋์์ต๋๋ค.
- HTTPS๋ HTTP์ SSL/TLS ์ํธํ ๊ณ์ธต ์ ์ถ๊ฐํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ฃผ๊ณ ๋ฐ์ ์ ์๋๋ก ํฉ๋๋ค.
- ์ด๋ฅผ ํตํด ์น ์ฌ์ดํธ์ ์ฌ์ฉ์ ๊ฐ์ ํต์ ์ด ๋ณดํธ๋ฉ๋๋ค.
7. ์์ฝ.
- HTTP๋ ์น์์ ํด๋ผ์ด์ธํธ(์ฃผ๋ก ์น ๋ธ๋ผ์ฐ์ )์ ์๋ฒ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ํ๋กํ ์ฝ๋ก, ์์ฒญ(Request)-์๋ต(Response) ๊ตฌ์กฐ๋ก ๋์ํ๋ฉฐ ํ
์คํธ ๊ธฐ๋ฐ์ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์ต๋๋ค.
- ๋น์ฐ๊ฒฐ์ฑ๊ณผ ๋ฌด์ํ์ฑ์ ๊ฐ์ง๋ฉฐ, ์ํ ์ฝ๋์ ํค๋๋ฅผ ํตํด ์์ฒญ ๋ฐ ์๋ต์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ฌ ์น ์์์์ ํต์ ์ ์ง์ํฉ๋๋ค.
- HTTPS๋ HTTP์ ๋ณด์ ๊ฐํ๋ฅผ ์ํด ๋์
๋ ๋ฒ์ ์
๋๋ค.
2๏ธโฃ API(Application Programming Interface)
- API(Application Programming Interface)๋ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ์ ์ํธ์์ฉํ ์ ์๋๋ก ์ ์๋ ๊ท์น๊ณผ ๋๊ตฌ์ ๋ชจ์์
๋๋ค.
- ์ฆ, API๋ ์ํํธ์จ์ด ์ ํ๋ฆฌ์ผ์ด์
์ด ์๋ก ํต์ ํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
- API๋ฅผ ์ฌ์ฉํ๋ฉด ํ ํ๋ก๊ทธ๋จ์ด ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ฅ์ ํ์ฉํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๊ฒ ๋ฉ๋๋ค.
1. API์ ์ฃผ์ ๊ฐ๋
.
-
1. ์ธํฐํ์ด์ค.
- API๋ ๋ ์ํํธ์จ์ด ๊ฐ์ ์ค๊ฐ ์ญํ ์ ํ์ฌ, ์๋ก ๋ค๋ฅธ ์์คํ
์ด๋ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ผ์ ํ ๊ท์น ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ ์ ์๊ฒ ํด์ค๋๋ค.
- ์ด๋ฅผ ํตํด ๊ฐ ์์คํ
์ด ์ํธ์์ฉํ๋ฉด์๋ ๋
๋ฆฝ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.
-
2. ํ์คํ๋ ๊ท์น.
- API๋ ๊ฐ๋ฐ์๋ค์ด ํน์ ๊ธฐ๋ฅ์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํ์คํ๋ ๋ฐฉ์ ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, ์น API๋ HTTP ์์ฒญ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ฑฐ๋ ๋ฐ๋ ๊ท์น์ ๋ฐ๋ฆ
๋๋ค.
-
3. ์ถ์ํ.
- API๋ ๋ด๋ถ ๊ตฌํ ๋ฐฉ์์ ์จ๊ธฐ๊ณ , ์ธ๋ถ์์๋ ๋จ์ํ ์ธํฐํ์ด์ค๋ง ์ ๊ณตํ์ฌ ๋ณต์กํ ์์
์ ์ฝ๊ฒ ์ํํ ์ ์๋๋ก ํฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, Google Maps API๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ์ง๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ณผ์ ์ ๋ชฐ๋ผ๋ ๊ฐ๋จํ ๋ช
๋ น์ ํตํด ์ง๋ ์ ๋ณด๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
2. API์ ์ ํ.
-
1. ์น API
-
REST API(Representational State Transfer API)
- ์ฃผ๋ก HTTP ํ๋กํ ์ฝ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ์น API์
๋๋ค. RESTful API๋ URL์ ํตํด ์์(Resource)์ ์๋ณํ๊ณ , HTTP ๋ฉ์๋(GET, POST, PUT, DELETE ๋ฑ)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
-
SOAP API(Simple Object Access Protocol)
- XML ๊ธฐ๋ฐ์ ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์ ์ก์ ์ฒ๋ฆฌํ๋ ์น API์
๋๋ค.
- REST API๋ณด๋ค ๋ณต์กํ์ง๋ง, ๋ ์๊ฒฉํ ํ์ค์ ๋ฐ๋ฆ
๋๋ค.
-
2. ๋ผ์ด๋ธ๋ฌ๋ฆฌ API
- ๊ฐ๋ฐ์๊ฐ ํน์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋ ์ ๊ณต๋๋ ํจ์์ ๋ช
๋ น์ด๋ฅผ ์๋ฏธํฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, Python์
math
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ํ ๊ด๋ จ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ API์
๋๋ค.
-
3. ์ด์ ์ฒด์ API
- ์ด์ ์ฒด์ ๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ฌ์ฉํ ์ ์๋๋ก ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, Windows API๋ ํ์ผ ์์คํ
์ ๊ทผ, ๊ทธ๋ํฝ ์ฒ๋ฆฌ, ๋คํธ์ํฌ ๊ธฐ๋ฅ ๋ฑ์ ์ ๊ณตํฉ๋๋ค.
-
4. ํ๋์จ์ด API
- ํ๋์จ์ด ์ฅ์น(์: ํ๋ฆฐํฐ, ๊ทธ๋ํฝ ์นด๋)์ ์ํํธ์จ์ด ๊ฐ์ ์ํธ์์ฉ์ ์ํ API์
๋๋ค.
- ์ด๋ฅผ ํตํด ์ํํธ์จ์ด๋ ํ๋์จ์ด์ ๊ธฐ๋ฅ์ ์ง์ ์กฐ์ํ ์ ์์ต๋๋ค.
3. API์ ๊ตฌ์ฑ ์์.
-
1. ์์ฒญ(Request)
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ ๊ณผ์ ์
๋๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ์น API์์๋ HTTP ์์ฒญ์ ์ฌ์ฉํ๋ฉฐ, ์์ฒญ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
-
URL : ์์์ ์์น๋ฅผ ์ง์ ํฉ๋๋ค.
-
HTTP ๋ฉ์๋ : ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ํํ๊ณ ์ ํ๋ ์์
์ ๋ํ๋
๋๋ค.
-
GET
: ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
-
POST
: ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ฑํฉ๋๋ค.
-
PUT
: ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ์์ ํฉ๋๋ค.
-
DELETE
: ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํฉ๋๋ค.
-
ํค๋(Header) : ์์ฒญ์ ๋ํ ์ถ๊ฐ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ผ๋ฉฐ, ์ธ์ฆ ์ ๋ณด๋ ๋ฐ์ดํฐ ํ์์ ์ ์ํฉ๋๋ค.
-
๋ณธ๋ฌธ(Body) : ์ฃผ๋ก
POST
๋ PUT
์์ฒญ์์ ์๋ฒ๋ก ์ ์กํ ๋ฐ์ดํฐ๋ฅผ ํฌํจํฉ๋๋ค.
-
2. ์๋ต(Response)
- ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ํด ๋ฐํํ๋ ์ ๋ณด์
๋๋ค.
- ์๋ต์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
-
์ํ ์ฝ๋ : ์์ฒญ์ด ์ฑ๊ณตํ๋์ง, ์ค๋ฅ๊ฐ ๋ฐ์ํ๋์ง๋ฅผ ๋ํ๋ด๋ ์ฝ๋์
๋๋ค.
-
200 OK
: ์์ฒญ ์ฑ๊ณต.
-
404 Not Found
: ์์ฒญํ ์์์ ์ฐพ์ ์ ์์.
-
500 Internal Server Error
: ์๋ฒ ๋ด๋ถ ์ค๋ฅ.
-
3. ๋ณธ๋ฌธ(Body)
- ์๋ฒ๊ฐ ๋ฐํํ๋ ์ค์ ๋ฐ์ดํฐ๋ก, ๋ณดํต JSON, XML, HTML ํ์์ผ๋ก ์ ๊ณต๋ฉ๋๋ค.
4. API์ ์์.
-
1. ์น API ์์.
-
Google Maps API
- ๊ฐ๋ฐ์๋ Google Maps API๋ฅผ ์ฌ์ฉํ์ฌ ์น ์ฌ์ดํธ๋ ์ฑ์ ์ง๋๋ฅผ ์ฝ์
ํ๊ณ , ์์น ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์๋ ์ง๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ ๊ด๋ฆฌํ์ง ์์๋ Google์ ์๋ฒ์์ ์ ๊ณตํ๋ ์๋น์ค๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
-
Twitter API
- Twitter API๋ ํธ์ํฐ ๋ฐ์ดํฐ(ํธ์, ์ฌ์ฉ์ ์ ๋ณด ๋ฑ)์ ์ ๊ทผํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ํธ์ํฐ์ ๊ด๋ จ๋ ์ ํ๋ฆฌ์ผ์ด์
์ด๋ ๋ถ์ ๋๊ตฌ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
-
๋ผ์ด๋ธ๋ฌ๋ฆฌ API ์์
- Java Standard Library
- Java ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ ํจ์ ๋ฐ ๋ฉ์๋ ๋ชจ์์
๋๋ค.
- ์๋ฅผ ๋ค์ด,
java.util.List
API๋ฅผ ํตํด ๋ฆฌ์คํธ ๊ด๋ จ ๊ธฐ๋ฅ์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
5. API์ ์ฅ์ .
-
1. ์ฌ์ฌ์ฉ์ฑ.
- API๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธฐ์กด ์์คํ
์ ๊ธฐ๋ฅ์ ์ฌ์ฌ์ฉํ ์ ์์ด, ๋์ผํ ๊ธฐ๋ฅ์ ์ฒ์๋ถํฐ ๊ฐ๋ฐํ์ง ์์๋ ๋ฉ๋๋ค.
- ์ด๋ฅผ ํตํด ๊ฐ๋ฐ ํจ์จ์ฑ์ด ๋์์ง๋๋ค.
-
2. ํ์ฅ์ฑ.
- API๋ ์๋ก ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ํธ์์ฉํ ์ ์๋๋ก ํ์ฌ, ํ์ฅ์ฑ๊ณผ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, ๋ค์ํ ์ฑ์ด Facebook API๋ฅผ ์ฌ์ฉํด ์์
๊ธฐ๋ฅ์ ํตํฉํ ์ ์์ต๋๋ค.
-
3. ์ ์ง๋ณด์.
- API๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ์ธก(์๋ฒ, ์๋น์ค ์ ๊ณต์)๊ณผ ์ด๋ฅผ ์ฌ์ฉํ๋ ์ธก(ํด๋ผ์ด์ธํธ)์ด ๋
๋ฆฝ์ ์ผ๋ก ์ ์ง๋ณด์ํ ์ ์๊ฒ ํด์ค๋๋ค.
- ์ฆ, API์ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ด ๋ณ๊ฒฝ๋๋๋ผ๋ ํด๋ผ์ด์ธํธ๋ ๋์ผํ ๋ฐฉ์์ผ๋ก API๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค.
-
4. ๋ณด์.
- API๋ ๋ฐ์ดํฐ๋ ์๋น์ค์ ๋ํ ์ ๊ทผ์ ์ ํํ ์ ์๋ ๋ณด์ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค.
- API ํค, OAuth ๋ฑ์ ์ธ์ฆ ๋ฐฉ์์ด ์ด๋ฅผ ์ง์ํฉ๋๋ค.
6. API์ ๋ณด์.
- API๋ ๋ณด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ธ์ฆ(Authentication) ๋ฐ ๊ถํ ๋ถ์ฌ(Authorization)๋ฅผ ํ์๋ก ํฉ๋๋ค.
- ์ฃผ์ ๋ณด์ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
API ํค
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญํ ๋ ์ฌ์ฉํ๋ ๊ณ ์ ํค๋ก, API ์์ฒญ์ด ์ฌ๋ฐ๋ฅธ ์ ํ๋ฆฌ์ผ์ด์
์์ ์๋์ง ํ์ธํฉ๋๋ค.
-
OAuth
- ์ฌ์ฉ์ ์ธ์ฆ์ ์ํ ํ๋กํ ์ฝ๋ก, ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ด ์์ ์ ์์์ ์ ๊ทผํ ์ ์๋๋ก ์น์ธํ๋ ์์คํ
์
๋๋ค.
-
HTTPS
- API ํต์ ์ ์ํธํ๋ฅผ ์ ์ฉํ์ฌ ๋ฐ์ดํฐ๊ฐ ์์ ํ๊ฒ ์ ์ก๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
7. ์์ฝ.
- API๋ ์ํํธ์จ์ด ๊ฐ์ ์ํธ์์ฉ์ ์ํ ์ธํฐํ์ด์ค๋ก, ์ ํ๋ฆฌ์ผ์ด์
์ด ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ณ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๊ฒ ํฉ๋๋ค.
- ์น, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ด์ ์ฒด์ ๋ฑ ๋ค์ํ API๊ฐ ์์ผ๋ฉฐ, ๊ฐ๋ฐ์๊ฐ ๋ณต์กํ ๊ธฐ๋ฅ์ ๋จ์ํํ๊ณ ์์คํ
๊ฐ์ ํตํฉ์ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋๋ก ๋์ต๋๋ค.
- API๋ ์ฌ์ฌ์ฉ์ฑ, ํ์ฅ์ฑ, ๋ณด์์ฑ ์ธก๋ฉด์์ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
-
URL(Uniform Resource Locator) ์ ์ธํฐ๋ท ์์์ ํน์ ์์์ ์์น๋ฅผ ๋ํ๋ด๋ ์ฃผ์์
๋๋ค.
- ์น ๋ธ๋ผ์ฐ์ ๋ URL์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์์ฒญํ ์น ํ์ด์ง๋ ๋ฆฌ์์ค์ ์ ๊ทผํฉ๋๋ค.
- ์ฝ๊ฒ ๋งํด, URL์ ์ธํฐ๋ท ์์์ ์์์ด ์ด๋์ ์์นํด ์๋์ง๋ฅผ ๋ํ๋ด๋ โ์น ์ฃผ์โ ์
๋๋ค.
1. URL์ ๊ตฌ์ฑ ์์.
- URL์ ์ฌ๋ฌ ๊ตฌ์ฑ ์์๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ฐ๊ฐ์ ๋ถ๋ถ์ ์์์ ์ ๊ทผํ๊ธฐ ์ํ ์ค์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ผ๋ฐ์ ์ธ URL ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ๋กํ ์ฝ://์ฌ์ฉ์ ์ ๋ณด@ํธ์คํธ:ํฌํธ/๊ฒฝ๋ก?์ฟผ๋ฆฌ#ํ๋๊ทธ๋จผํธ
-
1. ํ๋กํ ์ฝ(Scheme)
- ํด๋ผ์ด์ธํธ๊ฐ ์์์ ์ ๊ทผํ ๋ ์ฌ์ฉํ ํต์ ๋ฐฉ์์ ๋ํ๋
๋๋ค.
- ์:
http
, https
, ftp
๋ฑ
- ์:
https://www.example.com
์์ https
๋ HTTPS ํ๋กํ ์ฝ์ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
-
2. ํธ์คํธ(Host)
- ์์์ด ์์นํ ์๋ฒ์ ๋๋ฉ์ธ ์ด๋ฆ ๋๋ IP ์ฃผ์์
๋๋ค.
- ์:
www.example.com
, 198.168.1.1
- ์:
https://www.example.com
์์ www.example.com
์ ์๋ฒ์ ๋๋ฉ์ธ ์ด๋ฆ์
๋๋ค.
-
3. ํฌํธ ๋ฒํธ(Port) (์ ํ ์ฌํญ)
- ์๋ฒ์์ ์ฌ์ฉํ ํน์ ๋คํธ์ํฌ ํฌํธ๋ฅผ ์ง์ ํฉ๋๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก HTTP๋ ํฌํธ 80, HTTPS๋ ํฌํธ 443์ ์ฌ์ฉํฉ๋๋ค.
- ํฌํธ๋ฅผ ๋ช
์ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ ํฌํธ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- ์:
https://www.example.com:8080
์์ 8080
์ ํฌํธ ๋ฒํธ์
๋๋ค.
-
4. ๊ฒฝ๋ก(Path)
- ์๋ฒ ๋ด์์ ํน์ ์์์ ์์น๋ฅผ ๋ํ๋
๋๋ค.
- ํ์ผ ์์คํ
๊ฒฝ๋ก์ ์ ์ฌํ๊ฒ ์์(์น ํ์ด์ง, ์ด๋ฏธ์ง, ํ์ผ ๋ฑ)์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค.
- ์:
https://www.example.com/about
์์ /about
์ example.com
์๋ฒ ๋ด์ about
ํ์ด์ง๋ฅผ ๋ํ๋
๋๋ค.
-
5. ์ฟผ๋ฆฌ ๋ฌธ์์ด(Query String)(์ ํ ์ฌํญ)
- ์ถ๊ฐ์ ์ธ ๋งค๊ฐ๋ณ์(parameters)๋ฅผ ์๋ฒ์ ์ ๋ฌํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
- ์ฃผ๋ก URL ๋์
?
๋ค์ ์์นํ๋ฉฐ, ์ฌ๋ฌ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ &
๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
- ์:
https://www.example.com/search?q=example&lang=en
์์ q=example
๊ณผ lang=en
์ ๊ฒ์์ด์ ์ธ์ด๋ฅผ ๋ํ๋ด๋ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์์
๋๋ค.
-
6. ํ๋๊ทธ๋จผํธ(Fragment)(์ ํ ์ฌํญ)
- ํ์ด์ง ๋ด ํน์ ์์น๋ฅผ ๋ํ๋
๋๋ค.
-
#
๊ธฐํธ ๋ค์ ์์นํ๋ฉฐ, ๋ธ๋ผ์ฐ์ ๊ฐ ํด๋น ์์น๋ก ์คํฌ๋กคํ๋๋ก ์ง์ํฉ๋๋ค.
- ์:
https://www.example.com/docs#section2
์์ #section2
๋ ํ์ด์ง ๋ด ํน์ ์น์
์ผ๋ก ์ด๋ํ๊ธฐ ์ํ ํ๋๊ทธ๋จผํธ์
๋๋ค.
2. URL ์์.
- ๋ค์์ URL์ ์ค์ ์์์
๋๋ค.
https://www.example.com:8080/docs/tutorial.html?name=test#section1
- ์ด URL์ ๋ถ์ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
ํ๋กํ ์ฝ :
https
(๋ณด์๋ HTTP ์ฐ๊ฒฐ)
-
ํธ์คํธ :
www.example.com
(์๋ฒ์ ๋๋ฉ์ธ ์ด๋ฆ)
-
ํฌํธ :
8080
(์๋ฒ๊ฐ ์ฌ์ฉํ๋ ํฌํธ ๋ฒํธ)
-
๊ฒฝ๋ก :
/docs/tutorial.html
(์๋ฒ ๋ด ์์์ ๊ฒฝ๋ก)
-
์ฟผ๋ฆฌ ๋ฌธ์์ด :
?name=test
(์ถ๊ฐ ๋งค๊ฐ๋ณ์ name
์ด test
๋ผ๋ ๊ฐ์ ๊ฐ์ง)
-
ํ๋๊ทธ๋จผํธ :
#section1
(๋ฌธ์ ๋ด ํน์ ์์
์ผ๋ก ์ด๋)
3. URL์ ์ญํ .
-
1. ์น ์์ ์๋ณ
- URL์ ์ ์ธ๊ณ์ ์ผ๋ก ๊ณ ์ ํ ์์์ ์๋ณํ์ฌ, ์ฌ์ฉ์๊ฐ ์ํ๋ ์น ํ์ด์ง๋ ๋ฆฌ์์ค์ ์ ๊ทผํ ์ ์๊ฒ ํด์ค๋๋ค.
- ์ด๋ ํ
์คํธ ๋ฌธ์, ์ด๋ฏธ์ง, ๋์์, API ์๋ํฌ์ธํธ ๋ฑ ๋ค์ํ ํํ์ ์์์ผ ์ ์์ต๋๋ค.
-
2. ๋ฐ์ดํฐ ์ ์ก
- URL์ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ๋ก ์ ์กํ๋ ๋ฐ์๋ ์ฌ์ฉ๋ฉ๋๋ค.
- ํนํ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ํตํด ์น ์ ํ๋ฆฌ์ผ์ด์
์ด ์ฌ์ฉ์ ์
๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ๋ก ์ ์กํ ์ ์์ต๋๋ค.
- ์๋ฅผ ๋ค์ด, ๊ฒ์ ์์ง์์ ๊ฒ์์ด๋ฅผ ์
๋ ฅํ๋ฉด URL์ ์ฟผ๋ฆฌ ๋ฌธ์์ด๋ก ์๋ฒ์ ์ ์ก๋ฉ๋๋ค.
-
3. ๋คํธ์ํฌ ๋ฆฌ์์ค ์ฐ๊ฒฐ
- URL์ ๋จ์ํ ์น ํ์ด์ง๋ฟ๋ง ์๋๋ผ, FTP ์๋ฒ, ๋ฉ์ผ ์๋ฒ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ์ ๋คํธ์ํฌ ์์๊ณผ๋ ์ฐ๊ฒฐ๋ ์ ์์ต๋๋ค.
4. URL๊ณผ URI์ ์ฐจ์ด.
-
URI(Uniform Resource Identifier) ๋ URL์ ํฌํจํ๋ ๋ ๋์ ๊ฐ๋
์ผ๋ก, ์์์ ์๋ณํ ์ ์๋ ๋ฌธ์์ด์ ๋งํฉ๋๋ค.
- URI๋ ๋ ๊ฐ์ง๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
-
URL : ์์์ ์์น๋ฅผ ๋ํ๋ด๋ ์๋ณ์.
-
URN(Uniform Resource Name) : ์์์ ์ด๋ฆ๋ง์ ๋ํ๋ด๋ ์๋ณ์.
- ์: ISBN ๋ฒํธ(
urn:isbn:041450523
)
- URL์ ์์์ ์์น(์ฃผ์)๋ฅผ ๋ํ๋ด๋ URI์ ํ ํํ์
๋๋ค.
5. URL์ ์ค์์ฑ.
-
1. ์น ํ์.
- ์น ๋ธ๋ผ์ฐ์ ์์ URL์ ์
๋ ฅํจ์ผ๋ก์จ ์ํ๋ ์น ํ์ด์ง์ ์ง์ ์ ๊ทผํ ์ ์์ต๋๋ค.
- ๋ํ ํ์ดํผ๋งํฌ๋ก URL์ ์ฐ๊ฒฐํด ์ฌ์ฉ์๋ ์ฝ๊ฒ ์น ํ์ด์ง ๊ฐ์ ์ด๋ํ ์ ์์ต๋๋ค.
-
2. API ํธ์ถ.
- URL์ ์น API ํธ์ถ ์ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
- API๋ URL์ ํตํด ํน์ ์์์ ์ ๊ทผํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค.
- RESTful API์์๋ URL์ด ์์์ ์๋ณํ๊ณ ์์
์ ์ํํ๋ ์ค์ํ ์์์
๋๋ค.
-
3. ๊ฒ์ ์์ง ์ต์ ํ(SEO).
- URL ๊ตฌ์กฐ๋ ๊ฒ์ ์์ง์์ ์น ํ์ด์ง๋ฅผ ํฌ๋กค๋งํ๊ณ ์ธ๋ฑ์ฑํ๋ ๋ฐ ์ค์ํ ์์์
๋๋ค.
- ์ ๊ตฌ์ฑ๋ URL์ ๊ฒ์ ์์ง์ด ํ์ด์ง ๋ด์ฉ์ ์ดํดํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
6. ์์ฝ.
- URL์ ์ธํฐ๋ท์์ ์์์ ์์น๋ฅผ ๋ํ๋ด๋ ์ฃผ์๋ก, ํ๋กํ ์ฝ, ๋๋ฉ์ธ ์ด๋ฆ, ๊ฒฝ๋ก, ์ฟผ๋ฆฌ ๋ฌธ์์ด, ํ๋๊ทธ๋จผํธ ๋ฑ ์ฌ๋ฌ ์์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- URL์ ํตํด ์ฌ์ฉ์๋ ์น ์์์ ์ ๊ทผํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์์ผ๋ฉฐ, ์ด๋ ์น ๋ธ๋ผ์ฐ์ง, API ํธ์ถ, ๋ฐ์ดํฐ ์ ์ก ๋ฑ์ ํต์ฌ์ ์ธ ์ญํ ์ ํฉ๋๋ค.
4๏ธโฃ ์ฟผ๋ฆฌ(Query)
-
์ฟผ๋ฆฌ(Query) ๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ URL์ ์ผ๋ถ ๋ก ํฌํจ๋์ด ์๋ฒ๋ก ์ ์ก๋๋ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธํฉ๋๋ค.
- ์ฃผ๋ก GET ์์ฒญ์ ์ฌ์ฉ๋๋ฉฐ, URL ๋์
?
๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ์์ํ๊ณ , ํ๋ ์ด์์ ๋งค๊ฐ๋ณ์(ํ๋ผ๋ฏธํฐ)๋ฅผ &
๊ธฐํธ๋ก ๊ตฌ๋ถํ์ฌ ์๋ฒ์ ์ ๋ฌํฉ๋๋ค.
1. ์ฟผ๋ฆฌ์ ์ฃผ์ ๊ฐ๋
.
-
1. GET ์์ฒญ์์์ ์ฟผ๋ฆฌ ์ฌ์ฉ.
- GET ์์ฒญ์ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ URL์ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ํฌํจํ์ฌ ์ ์กํฉ๋๋ค.
- ์ฟผ๋ฆฌ๋ URL์ ๊ฒฝ๋ก ๋ค์ ๋ถ์ผ๋ฉฐ,
?
๋ก ์์ํ ํ ๋งค๊ฐ๋ณ์(key-value)๋ฅผ =
๋ก ์ฐ๊ฒฐํฉ๋๋ค.
- ์ฌ๋ฌ ๋งค๊ฐ๋ณ์๊ฐ ์์ ๊ฒฝ์ฐ
&
๋ก ๊ตฌ๋ถํฉ๋๋ค.
- ์ฟผ๋ฆฌ๋ ์ฃผ๋ก ๊ฒ์ ์กฐ๊ฑด, ํํฐ๋ง ์ ๋ณด, ํ์ด์ง ๋ฒํธ, ์ ๋ ฌ ์์ ๋ฑ ์ ์๋ฒ์ ์ ๋ฌํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
https://www.example.com/search?q=shoes&color=red&size=10
- ์๋ฅผ ๋ค์ด, ์์ ๊ฐ์ URL์ ์ดํด๋ด
์๋ค.
-
q=shoes
: q
๋ผ๋ ๋งค๊ฐ๋ณ์์ shoes
๋ผ๋ ๊ฒ์์ด๋ฅผ ์ ๋ฌํฉ๋๋ค.
-
color=red
: color
๋ผ๋ ๋งค๊ฐ๋ณ์์ red
๋ผ๋ ๊ฐ์ ์ ๋ฌํฉ๋๋ค.
-
size=10
: size
๋ผ๋ ๋งค๊ฐ๋ณ์์ 10
์ด๋ผ๋ ๊ฐ์ ์ ๋ฌํฉ๋๋ค.
-
2. ์ฟผ๋ฆฌ์ ๊ตฌ์กฐ.
-
?
๋ก ์์ํ์ฌ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ด ์์๋ฉ๋๋ค.
-
key=value
ํํ๋ก ๋งค๊ฐ๋ณ์์ ๊ทธ ๊ฐ์ ํํํฉ๋๋ค.
- ์ฌ๋ฌ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ
&
๋ก ๊ตฌ๋ถํฉ๋๋ค.
- ๊ธฐ๋ณธ์ ์ธ ์ฟผ๋ฆฌ ํ์์ ์๋์ ๊ฐ์ต๋๋ค.
https://www.example.com/resource?key1=value1&key2=value2&key3=value3
-
3. ์๋ฒ์์์ ์ฒ๋ฆฌ.
- ์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ ๋ฌํ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ํ์ฑํ์ฌ ๊ฐ๊ฐ์ ๋งค๊ฐ๋ณ์ ๊ฐ์ ์ถ์ถํฉ๋๋ค.
- ์ถ์ถ๋ ๊ฐ๋ค์ ์๋ฒ์์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์๋ฅผ ๋ค์ด ๊ฒ์์ด, ํํฐ๋ง ์ต์
, ํ์ด์ง ๋ฒํธ ๋ฑ์ ๊ธฐ๋ฐ์ผ๋ก ํด๋ผ์ด์ธํธ๊ฐ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค.
-
4. ๋ฐ์ดํฐ์ ์ ํ.
- GET ์์ฒญ์ ๋ฐ์ดํฐ์ ํฌ๊ธฐ ์ ํ์ด ์์ ์ ์์ต๋๋ค.
- ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ๋ ๋ณดํต ์ฝ 2048์ ์ ๋์ URL ๊ธธ์ด๋ฅผ ํ์ฉํ๋ฏ๋ก, ์ฟผ๋ฆฌ๋ก ์ ์กํ ์ ์๋ ๋ฐ์ดํฐ๋ ์๋์ ์ผ๋ก ์ ์ต๋๋ค.
- ๋ฏผ๊ฐํ ๋ฐ์ดํฐ(๋น๋ฐ๋ฒํธ, ๊ฐ์ธ์ ๋ณด ๋ฑ)๋ ์ฟผ๋ฆฌ ๋ฌธ์์ด๋ก ์ ์กํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ์ฟผ๋ฆฌ๋ URL์ ๋
ธ์ถ๋๋ฉฐ, ๋ธ๋ผ์ฐ์ ๊ธฐ๋ก์ด๋ ์๋ฒ ๋ก๊ทธ์ ์ ์ฅ๋ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
- ์ด๋ฌํ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ค๋ฉด POST ์์ฒญ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์
๋๋ค.
2. ์ฟผ๋ฆฌ์ ์ฌ์ฉ ์์.
https://www.example.com/search?query=laptop&category=electronics&sort=price
- ์ด ์ฟผ๋ฆฌ๋ โlaptopโ์ด๋ผ๋ ๊ฒ์์ด๋ก ์ ์ ์ ํ ์นดํ
๊ณ ๋ฆฌ ๋ด์์ ๊ฐ๊ฒฉ์์ผ๋ก ์ ๋ ฌ๋ ๊ฒฐ๊ณผ๋ฅผ ์์ฒญํ๋ ์์
๋๋ค.
-
query :
laptop
(๊ฒ์ ํค์๋)
-
category :
electronics
(์นดํ
๊ณ ๋ฆฌ)
-
sort :
price
(๊ฐ๊ฒฉ์ ์ ๋ ฌ)
- ์์ 2: ํํฐ๋ง ๋ฐ ํ์ด์ง.
https://www.example.com/products?category=shoes&brand=nike&size=9&page=2
- ์ฌ๊ธฐ์๋ ์ ๋ฐ ์นดํ
๊ณ ๋ฆฌ์์
Nike
๋ธ๋๋์ ์ฌ์ด์ฆ 9์ธ ์ ํ์ ๋ ๋ฒ์งธ ํ์ด์ง์์ ์์ฒญํ๋ ์ํฉ์
๋๋ค.
-
category :
shoes
(์ ํ ์นดํ
๊ณ ๋ฆฌ)
-
brand :
nike
(๋ธ๋๋ ํํฐ)
-
size :
9
(์ฌ์ด์ฆ ํํฐ)
-
page :
2
(ํ์ด์ง ๋ฒํธ)
3. ์ฟผ๋ฆฌ์ ์ฅ์ .
-
URL์ ํตํด ๊ฐํธํ๊ฒ ๋ฐ์ดํฐ ์ ์ก.
- ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ํตํด ํด๋ผ์ด์ธํธ๋ ์ฝ๊ฒ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์ ์์ต๋๋ค.
-
์ง์ ๋งํฌ๋ก ๊ณต์ ๊ฐ๋ฅ.
- ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ํฌํจํ URL์ ๋ฐ๋ก ๊ณต์ ํ ์ ์์ผ๋ฉฐ, ์ฌ์ฉ์๊ฐ ๋์ผํ URL์ ํตํด ๋์ผํ ์์ฒญ์ ์ฌํํ ์ ์์ต๋๋ค.
- ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ ํํฐ๋ง ์ต์
์ด ์ ์ฉ๋ ๊ฒ์ ๊ฒฐ๊ณผ ํ์ด์ง์ URL์ ๋ค๋ฅธ ์ฌ์ฉ์์ ๊ณต์ ํ ์ ์์ต๋๋ค.
-
๊ฒ์ ์์ง ์ต์ ํ(SEO).
- ๊ฒ์ ์์ง์ด ์ฟผ๋ฆฌ๋ฅผ ํตํด ํน์ ํ ํ์ด์ง ๋ด์ฉ์ ์ดํดํ๊ณ ์์ธํ ์ ์์ต๋๋ค.
4. ์ฟผ๋ฆฌ์ POST ์์ฒญ์ ์ฐจ์ด์ .
-
GET ์์ฒญ ์์์ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ URL์ ๋
ธ์ถ๋๋ฉฐ, ๋ธ๋ผ์ฐ์ ํ์คํ ๋ฆฌ๋ ์๋ฒ ๋ก๊ทธ์ ์ ์ฅ๋ ์ ์์ต๋๋ค.
- ์ด ๋๋ฌธ์ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ์ ์กํ ๋๋ ์ ํฉํ์ง ์์ต๋๋ค.
-
POST ์์ฒญ ์์๋ ๋ฐ์ดํฐ๋ฅผ ๋ณธ๋ฌธ(body)์ ๋ด์ ์ ์กํ๋ฏ๋ก, URL์ ๋
ธ์ถ๋์ง ์์ต๋๋ค.
- ํฐ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ฑฐ๋ ๋ณด์์ด ์ค์ํ ์ ๋ณด๋ฅผ ์ ์กํ ๋๋ POST ์์ฒญ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์์ ํฉ๋๋ค.
5. ์์ฝ.
- ์ฟผ๋ฆฌ๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ GET ์์ฒญ์ URL์ ๋งค๊ฐ๋ณ์๋ก ํฌํจ๋์ด ์ ์ก๋๋ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธํฉ๋๋ค.
- ์ฟผ๋ฆฌ ๋ฌธ์์ด์
key=value
ํํ๋ก ์ ๋ฌ๋๋ฉฐ, ์ฌ๋ฌ ๋งค๊ฐ๋ณ์๋ &
๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
- ๊ฒ์์ด, ํํฐ ์กฐ๊ฑด, ํ์ด์ง ๋ฒํธ ๋ฑ์ ์๋ฒ๋ก ์ ์กํ ๋ ์ฃผ๋ก ์ฌ์ฉ๋๋ฉฐ URL์ ๋
ธ์ถ๋๋ ๋งํผ ๋ฏผ๊ฐํ ์ ๋ณด ์ ์ก์๋ ์ ํฉํ์ง ์์ต๋๋ค.
5๏ธโฃ ๋ฐ๋(Body)
-
๋ฐ๋(Body) ๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก POST, PUT, PATCH ์ ๊ฐ์ HTTP ์์ฒญ์ ๋ณด๋ผ ๋, ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์๋ฒ๋ก ์ ์กํ๋ ๋ถ๋ถ ์
๋๋ค.
- ํนํ, ํฐ ์์ ๋ฐ์ดํฐ๋ ๋ณด์์ด ์ค์ํ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ๋ฐ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ๋ฐ๋๋ URL์ ๋
ธ์ถ๋์ง ์๊ณ ์์ฒญ ๋ฉ์์ง์ ๋ณธ๋ฌธ์ ํฌํจ๋๋ฏ๋ก, ๋ฐ์ดํฐ ์ ์ก์ ์์ด ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
1. ๋ฐ๋๋ฅผ ์ฌ์ฉํ๋ ์ฃผ์ HTTP ๋ฉ์๋.
-
1. POST
- ์๋ฒ์ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ธฐ ์ํ ์์ฒญ์ ๋ณด๋ผ ๋ ์ฌ์ฉํฉ๋๋ค.
- ์์ฒญ ๋ฐ๋์ ์ ์กํ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ์ฌ ์๋ฒ๋ก ๋ณด๋
๋๋ค.
- ์: ์ฌ์ฉ์ ๋ฑ๋ก, ํ์ผ ์
๋ก๋ ๋ฑ.
-
2. PUT
- ์๋ฒ์ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ์์ ํ ๋ ์ฌ์ฉํฉ๋๋ค.
- ์์ฒญ ๋ฐ๋์ ์์ ํ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ์ฌ ์๋ฒ๋ก ๋ณด๋
๋๋ค.
- ์: ๊ธฐ์กด ์ฌ์ฉ์์ ์ ๋ณด ์
๋ฐ์ดํธ.
-
3. PATCH
- ์๋ฒ์ ์ผ๋ถ ๋ฐ์ดํฐ๋ฅผ ์์ ํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
- ์ ์ฒด ๋ฐ์ดํฐ๊ฐ ์๋, ์์ ํ ๋ถ๋ถ๋ง์ ๋ฐ๋์ ํฌํจํ์ฌ ๋ณด๋
๋๋ค.
-
4. DELETE
- ์ผ๋ถ ๊ฒฝ์ฐ์๋ ์๋ฒ์ ์ญ์ ํ ์์์ ๋ํ ์ถ๊ฐ ์ ๋ณด๋ฅผ ๋ฐ๋์ ๋ด์ ๋ณด๋ผ ์ ์์ต๋๋ค.
- ํ์ง๋ง ๋๋ถ๋ถ์ DELETE ์์ฒญ์ ๋ฐ๋ ์์ด ์คํ๋๊ธฐ๋ ํฉ๋๋ค.
2. ๋ฐ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์ .
-
1. ๋์ฉ๋ ๋ฐ์ดํฐ ์ ์ก.
- GET ์์ฒญ์์ ์ฌ์ฉ๋๋ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ๋ฐ์ดํฐ ํฌ๊ธฐ์ ์ ํ์ด ์์ต๋๋ค.
- ๋ฐ๋ฉด, ๋ฐ๋๋ฅผ ์ฌ์ฉํ๋ POST๋ PUT ์์ฒญ์ ํฐ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ ์กํ ์ ์์ต๋๋ค.
- ์๋ฅผ ๋ค์ด, ๋์ฉ๋ ํ์ผ์ด๋ ์ด๋ฏธ์ง ๋ฑ์ ์ ์กํ ๋ ๋ฐ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
-
2. ๋ณด์.
- ๋ฐ๋์ ํฌํจ๋ ๋ฐ์ดํฐ๋ URL์ ๋
ธ์ถ๋์ง ์์ผ๋ฉฐ, ๋ธ๋ผ์ฐ์ ์ ์ฃผ์ ์ฐฝ์ด๋ ์๋ฒ ๋ก๊ทธ์ ๊ธฐ๋ก๋์ง ์์ต๋๋ค.
- ๋ฐ๋ผ์, ๋น๋ฐ ๋ฒํธ, ๊ฐ์ธ์ ๋ณด, ๊ฒฐ์ ์ ๋ณด ๋ฑ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ๋ฐ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ์ ํฉ๋๋ค.
-
3. ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ ์ ์ก.
- JSON, XML, HTML๊ณผ ๊ฐ์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ ์กํ ์ ์์ต๋๋ค.
- ๋ฐ๋๋ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ด์์ ์๋ฒ๋ก ์ ๋ฌํ ์ ์๋ ์ ์ฐํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
3. ์์ฒญ ๋ฐ๋์ ํ์(Content-Type)
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋, ์์ฒญ ๋ฐ๋์ ๋ฐ์ดํฐ ํ์์ Content-Type ํค๋๋ก ์ง์ ๋ฉ๋๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
1. application/json
- JSON(JavaScript Object Notation) ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํฉ๋๋ค.
- RESTful API์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ํ์์
๋๋ค.
{
"username": "example_user",
"password": "example_password"
}
-
2. application/x-www-form-urlencoded
- HTML ํผ์์ ์ ์ก๋๋ ๊ธฐ๋ณธ ํ์์ผ๋ก, ํค-๊ฐ ์์ผ๋ก URL ์ธ์ฝ๋ฉ ๋ฐฉ์์ผ๋ก ์ ์กํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ URL ์ฟผ๋ฆฌ ๋ฌธ์์ด๊ณผ ์ ์ฌํ ํ์์ผ๋ก ๋ฐ๋์ ์ ์ก๋ฉ๋๋ค.
username=example_user&password=example_password
-
3. multipart/form-data
- ํ์ผ ์
๋ก๋์ ๊ฐ์ด ๋ค์ํ ํ์์ ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ์ ์กํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
- ๊ฐ ํ์ผ์ด๋ ๋ฐ์ดํฐ ํญ๋ชฉ์ ๋ณ๋์ ํํธ๋ก ๊ตฌ๋ถํ์ฌ ์ ์กํ ์ ์์ต๋๋ค.
- ํนํ ์ด๋ฏธ์ง, ๋ฌธ์์ ๊ฐ์ ํ์ผ์ ์ ์กํ ๋ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
Content-Type: multipart/form-data; boundary=------------------------boundary
--------------------------boundary
Content-Disposition: form-data; name="username"
example_user
--------------------------boundary
Content-Disposition: form-data; name="file"; filename="example.png"
Content-Type: image/png
(ํ์ผ ๋ฐ์ดํฐ)
--------------------------boundary--
-
4. text/plain
- ๋จ์ ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, ๊ฐ๋จํ ๋ฉ์์ง๋ฅผ ์ ์กํ๊ฑฐ๋ ํ
์คํธ์ฉ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
4. ์์ฒญ ๋ฐ๋ ์ฌ์ฉ ์์.
-
1. POST ์์ฒญ ์์ (JSON ๋ฐ์ดํฐ ์ ์ก)
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก ์ฌ์ฉ์ ๋ฑ๋ก ์์ฒญ์ ๋ณด๋ผ ๋, JSON ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์์ต๋๋ค.
POST /register HTTP/1.1
Host: www.example.com
Content-Type: application/json
{
"username": "new_user",
"email": "user@example.com",
"password": "user_password"
}
-
Content-Type
- ์์ฒญ ๋ฐ๋๊ฐ JSON ํ์์์ ์๋ฒ์ ์๋ฆฝ๋๋ค.
-
๋ฐ๋
- ํด๋ผ์ด์ธํธ๊ฐ ์ ์กํ๋ ค๋ ๋ฐ์ดํฐ๊ฐ JSON ํ์์ผ๋ก ํฌํจ๋ฉ๋๋ค.
-
2. PUT ์์ฒญ ์์ (ํผ ๋ฐ์ดํฐ ์ ์ก)
- ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์์ ํ ๋, ํผ ๋ฐ์ดํฐ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์์ต๋๋ค.
PUT /update-profile HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
username=updated_user&email=updated@example.com
-
Content-Type
-
application/x-www-form-urlencoded
๋ ํค-๊ฐ ์์ ํผ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ํ์์
๋๋ค.
-
๋ฐ๋
- ์์ ๋ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ํค-๊ฐ ์์ผ๋ก ํฌํจํ๊ณ ์์ต๋๋ค.
5. ๋ฐ๋์ ๋ณด์.
- ๋ฐ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ก๋๋ ๋ฐ์ดํฐ๋ URL์ ๋
ธ์ถ๋์ง ์์ง๋ง, ์ฌ์ ํ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์ก๋๋ ๋์ ๋ณด์์ด ํ์ํฉ๋๋ค.
- ์ด๋ฅผ ์ํด HTTPS๋ฅผ ์ฌ์ฉํ์ฌ ํต์ ์ ์ํธํํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์
๋๋ค.
- HTTPS๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ๋์ ํฌํจ๋ ๋ฐ์ดํฐ๊ฐ ์ค๊ฐ์์ ๊ฐ๋ก์ฑ์ด๊ฑฐ๋ ๋ณ์กฐ๋์ง ์๋๋ก ๋ณดํธํ ์ ์์ต๋๋ค.
6. ์์ฝ.
- ๋ฐ๋๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ์์ฒญ ๋ฉ์์ง์ ๋ณธ๋ฌธ์ ํฌํจ๋๋ ๋ถ๋ถ์
๋๋ค.
- ์ฃผ๋ก POST, PUT, PATCH์ ๊ฐ์ ์์ฒญ์์ ์ฌ์ฉ๋๋ฉฐ, ๋์ฉ๋ ๋ฐ์ดํฐ๋ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ์ ์กํ๋ ๋ฐ ์ ํฉํฉ๋๋ค.
- ๋ฐ๋์๋ JSON, ํผ ๋ฐ์ดํฐ, ํ์ผ ๋ฑ ๋ค์ํ ํ์์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ ์ ์์ผ๋ฉฐ, URL์ ๋
ธ์ถ๋์ง ์์ ๋ณด์ ์ธก๋ฉด์์ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.