HTTP ๋๋ Hypertext Transfer Protocol์ World Wide Web(WWW)์ ํตํด ๋ฐ์ดํฐ ๋ฐ ํต์ ์ ์ ์กํ๊ธฐ ์ํ ๊ธฐ๋ณธ ํ๋กํ ์ฝ์ ๋๋ค. 1989๋ Tim Berners-Lee ๊ฒฝ์ด ์ฒ์ ๊ฐ๋ฐํ HTTP๋ ์น ์๋ฒ๊ฐ ์น ๋ธ๋ผ์ฐ์ ๋ฐ ๊ธฐํ ์ธํฐ๋ท ๊ฐ๋ฅ ์ฅ์น์ ๊ฐ์ ํด๋ผ์ด์ธํธ์ ํต์ ํ ์ ์๋๋ก ํ๋ ์ฃผ์ ์์ฉ ํ๋ก๊ทธ๋จ ํ๋กํ ์ฝ ์ญํ ์ ํ๋ ํ๋ ์ธํฐ๋ท์ ์ด์์ ๋๋ค.
HTTP๋ ์์ฒญ-์๋ต ํ๋กํ ์ฝ๋ก, ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ฒ๋ ์์ฒญ๋ ๋ฐ์ดํฐ๋ก ์๋ตํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์๋ ๊ฒฝ์ฐ ์ค๋ฅ ๋ฉ์์ง๋ก ์๋ตํฉ๋๋ค. ์ด ํด๋ผ์ด์ธํธ-์๋ฒ ํต์ ์ ํด๋ผ์ด์ธํธ ์์ฒญ ๋๋ ์๋ฒ ์๋ต์ด ๋ ์ ์๋ HTTP ๋ฉ์์ง๋ผ๋ ํ์คํ๋ ํ์์ ์ฌ์ฉํ์ฌ ์ํ๋ฉ๋๋ค. HTTP ๋ฉ์์ง๋ ์์ ์ค, ๋ฉ์์ง ํค๋ ๋ฐ ํ์ด๋ก๋๋ฅผ ์ ๋ฌํ๋ ์ ํ์ ๋ฉ์์ง ๋ณธ๋ฌธ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
HTTP์ ์ฃผ์ ํน์ง ์ค ํ๋๋ ๊ฐ ์์ฒญ-์๋ต ๊ตํ์ด ๋ ๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌ๋๊ณ ์๋ฒ๊ฐ ๋์ผํ ํด๋ผ์ด์ธํธ์ ์ด์ ์์ฒญ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์งํ์ง ์๋ ์ํ ๋น์ ์ฅ์ ๋๋ค. ์ด ๋ฌด์ํ๋ ์ธ์ ์ ๋ณด๋ฅผ ์ ์ง ๊ด๋ฆฌํ์ฌ HTTP ๋ฐ ์๋ฒ ๋ฆฌ์์ค๊ฐ ์๋น๋์ง ์๋๋ก ํ์ฌ ์ ๋ฐ์ ์ธ ํ์ฅ์ฑ๊ณผ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ์ธํ๋ ๊ฒฝํ์ ์ ๊ณตํ๊ธฐ ์ํด ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉ์์ ๋ํ ์ปจํ ์คํธ ์ ๋ณด๋ฅผ ์ ์ง ๊ด๋ฆฌํด์ผ ํ ์ ์์ผ๋ฏ๋ก ์ํ ๋น์ ์ฅ์ ๋๋๋ก ๋จ์ ์ด ๋ ์ ์์ต๋๋ค.
์ด๋ฌํ ์ ํ์ ํด๊ฒฐํ๊ธฐ ์ํด ์ฟ ํค ๋ฐ ์ธ์ ๊ด๋ฆฌ์ ๊ฐ์ ๊ธฐ์ ์ด ๊ฐ๋ฐ๋์ด ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ผ์ ์์ค์ ์ํ์ ์์ฒญ ์ฌ์ด์ ์ฐ์์ฑ์ ์ ์งํ ์ ์์ต๋๋ค. ๋ํ HTTPS(HTTP Secure)๋ ๋ณด์ TLS(Transport Layer Security) ๋๋ SSL(Secure Sockets Layer) ์ฐ๊ฒฐ์ ํตํด ์๋ํ๋ HTTP ๋ฒ์ ์ผ๋ก, ์๋ฒ์ ์ํธํ ๋ฐ ๋ณด์ ์ธ์ฆ์ ์ ๊ณตํ์ฌ ์๋ฒ๋ฅผ ํตํด ์ค์ํ ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ์ ์กํ ์ ์์ต๋๋ค. ์ธํฐ๋ท.
HTTP๋ ํ์คํ๋ ๋ฉ์๋ ์งํฉ์ ์ฌ์ฉํ์ฌ ์ง์ ๋ ๋ฆฌ์์ค์์ ์ํํ ์ํ๋ ์์ ์ ๋ํ๋ ๋๋ค. ์ด ์ค ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ GET(๋ฐ์ดํฐ ๊ฒ์), POST(์ ๋ฆฌ์์ค ์์ฑ), PUT(๊ธฐ์กด ๋ฆฌ์์ค ์ ๋ฐ์ดํธ) ๋ฐ DELETE(๋ฆฌ์์ค ์ ๊ฑฐ)์ ๋๋ค. ์ ์ ํ ํ๋กํ ์ฝ ์ฌ์ฉ์ ๋ณด์ฅํ๊ณ ์ ์ฌ์ ์ธ ์ค๋ฅ๋ฅผ ์ต์ํํ๊ธฐ ์ํด HTTP์๋ ์ฃผ์ด์ง ์์ฒญ์ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด๋ ํ์คํ๋ ์ํ ์ฝ๋ ๋ชฉ๋ก๋ ์์ต๋๋ค. ์ด๋ฌํ ์ํ ์ฝ๋๋ ์น ๊ฐ๋ฐ์๊ฐ ๋ฌธ์ ๋ฅผ ์๋ณํ๊ณ ๋ค์ํ ์์ฒญ-์๋ต ์๋๋ฆฌ์ค๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
AppMaster ์ปจํ ์คํธ์์ ํ๋ซํผ์ ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ REST(REpresentational State Transfer) API endpoints ์๋์ผ๋ก ์์ฑํฉ๋๋ค. RESTful API๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ํต์ ์ ์ํ HTTP ๋ฉ์๋ ๋ฐ ๊ท์น์ ์ฌ์ฉํ์ฌ HTTP ์์ ๊ตฌ์ถ๋ฉ๋๋ค. ์ด๋ฌํ API๋ฅผ ํตํด AppMaster ํ์ฅ ๊ฐ๋ฅํ๊ณ ํจ์จ์ ์ธ ๋ฐฉ์์ผ๋ก ๋ฐฑ์๋ ์๋ฒ ๊ตฌ์ฑ ์์์ ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํธ ์์ฉ์ ์ง์ํฉ๋๋ค.
์์ฑ๋ RESTful API๋ Android์ฉ Kotlin ๋ฐ Jetpack Compose ์ iOS์ฉ SwiftUI ๋ฅผ ์ฌ์ฉํ์ฌ AppMaster ์ ์๋ฒ ๊ธฐ๋ฐ ํ๋ ์์ํฌ๋ก ๋น๋๋ Vue3(์น ์ ํ๋ฆฌ์ผ์ด์ ์์ฑ์ AppMaster ์์ ์ฌ์ฉ) ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ฐ์ ๋ค์ํ ํ๋ฐํธ์๋ ํ๋ ์์ํฌ์์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. HTTP๋ ์ฌ๋ฌ ์ฅ์น์ ํ๋ซํผ์์ ๊ด๋ฒ์ํ๊ฒ ์ง์๋๋ฏ๋ก AppMaster ๋ HTTP๋ฅผ ํต์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ์ฉํ์ฌ ๋ค๋ฅธ ์น ์๋น์ค ๋ฐ ์์คํ ๊ณผ์ ์ํธ ์ด์ฉ์ฑ ๋ฐ ํตํฉ์ ๋ณด์ฅํฉ๋๋ค.
AppMaster Swagger(OpenAPI) ๋ฌธ์์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ์๊ฐ HTTP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋ RESTful API๋ฅผ ์ฝ๊ฒ ์ดํดํ๊ณ ์์ ํ ์ ์๋๋ก ํฉ๋๋ค. ๋ํ AppMaster ์ ํ๋ฆฌ์ผ์ด์ ์ฉ ์์ค ์ฝ๋๋ฅผ ์์ฑํ๋ฏ๋ก Enterprise ๊ตฌ๋ ๊ณ ๊ฐ์ด ํ์ํ ๊ฒฝ์ฐ ์์ฑ๋ ์ฝ๋๋ฅผ ๊ฒํ ํ๊ฑฐ๋ ์์ ํ ์ ์์ผ๋ฏ๋ก ํน์ ์ํคํ ์ฒ ๋๋ ๋ณด์ ์๊ตฌ ์ฌํญ์ ์ค์ํ ์ ์์ต๋๋ค.
๋ํ Stateless Go ๊ธฐ๋ฐ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ ๋ฐ ํ์ฅ์ฑ ์ด์ ๊ณผ ๊ฒฐํฉ๋ Postgresql ํธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ฉด AppMaster ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋๋ฆฌ ์ฌ์ฉ๋๋ ์น ๊ธฐ์ ๊ณผ์ ํธํ์ฑ์ ์ ์งํ๋ฉด์ ๊ณ ๋ถํ ๋ฐ ์ํฐํ๋ผ์ด์ฆ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ถฉ์กฑํ ์ ์์ต๋๋ค. HTTP์ฒ๋ผ.
HTTP๋ ์ต์ ์น ํต์ ์ ์ค์ถ์ ์ธ ๊ตฌ์ฑ ์์๋ก, ๋ฐ์ดํฐ ์ ์ก ๋ฐ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๊ธฐ๋ฐ์ ํ์ฑํฉ๋๋ค. AppMaster ํ์ดํผํ ์คํธ ์ ์ก ํ๋กํ ์ฝ์ ํ์ฉํ์ฌ ๋ค์ํ ํ๋ซํผ ๋ฐ ์๋น์ค์ ํธํ๋๋ ์น, ๋ชจ๋ฐ์ผ ๋ฐ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ์์ ํ๊ณ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ํจ์จ์ ์ธ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.