์ด๋ฒ ๋ฌ ์ด Hacker News์์
IMAP์ ๋ํด ๋ง์์ ๋ค์ง ์์๋ ์
ํ๋กํ ์ฝ
๋ ๋ค๋ฅธ ๋ฌธ์ ๋ ํธ๋ํฝ ์๋น์ ๊ด๋ จ์ด ์์ต๋๋ค. IMAP์ ์ฌ์ฉํ๋ฉด ์ด๋ฉ์ผ์ด ์๋ฒ์ ์ ์ฅ๋๊ณ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ก์ปฌ ํด๋ผ์ด์ธํธ์ ๋๊ธฐํ๋ฉ๋๋ค. ์ด๋ค ์ด์ ๋ก ์ฌ์ฉ์ ์ฅ์น์ ๋ณต์ฌ๋ณธ์ด ์์๋๋ฉด ๋ชจ๋ ๋ฉ์ผ์ ๋ค์ ๋๊ธฐํํด์ผ ํฉ๋๋ค. ์์ฒ ๊ฐ์ ๋ชจ๋ฐ์ผ ์ฅ์น๊ฐ ์๋ฒ์ ์ฐ๊ฒฐ๋ ์ ์๋ ํ๋ ์ฌํ์์ ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ํธ๋ํฝ๊ณผ ์ปดํจํ ๋ฆฌ์์ค ์๋น๋ฅผ ์ฆ๊ฐ์ํต๋๋ค.
ํ๋กํ ์ฝ ์์ฒด๋ฟ๋ง ์๋๋ผ ์ด๋ฅผ ์ฌ์ฉํ๋ ์ด๋ฉ์ผ ํด๋ผ์ด์ธํธ์์๋ ์ด๋ ค์์ด ๋ฐ์ํฉ๋๋ค. IMAP์ ์์ฑ๋ ์ดํ ์ฌ๋ฌ ๋ฒ ๊ฐ์ ๋์์ต๋๋ค. ํ์ฌ ๋ฒ์ ์ IMAP4์
๋๋ค. ๋์์ ๋คํธ์ํฌ์๋ ๋ง์ ์ ํ์ ํ์ฅ์ด ์์ต๋๋ค.
๋์์ ๋ง์ ํ์ฌ์์๋ IMAP ์์
์ ๋จ์ํํ๊ฑฐ๋ ๋์ฒดํ ์ ์๋ ์์ฒด ๋
์ ์๋ฃจ์
์ ์ ๊ณตํฉ๋๋ค.
IaaS ์ ๊ณต์ ์ฒด์ ๊ฐ๋ฐ ์ฑ ์์์ธ Sergei Belkin์ "๊ฒ๋ค๊ฐ ์ต์ ์ด๋ฉ์ผ ํด๋ผ์ด์ธํธ๋ ๋ฉ์์ง๋ฅผ ์ ๋ฌํ ๋ฟ๋ง ์๋๋ผ ์ฐ๋ฝ์ฒ์ ์์ ํ๊ณ ์บ๋ฆฐ๋์ ๋๊ธฐํํ ์ ์์ด์ผ ํฉ๋๋ค."๋ผ๊ณ ๋งํฉ๋๋ค.
1cloud.ru . โ ์ค๋๋ ๋ค์๊ณผ ๊ฐ์ ํ์ฌ ํ๋กํ ์ฝ์LDAP ,CardDAV๋ฅผ ะธCalDAV๋ฅผ . ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ๊ธฐ์ ๋คํธ์ํฌ์ ๋ฐฉํ๋ฒฝ ๊ตฌ์ฑ์ ๋ณต์กํ๊ฒ ๋ง๋ค๊ณ ์ฌ์ด๋ฒ ๊ณต๊ฒฉ์ ์ํ ์๋ก์ด ๋ฒกํฐ๋ฅผ ์ด์ด์ค๋๋ค.โ
JMAP์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ค๊ณ๋์์ต๋๋ค. ์ด๋ IETF(Internet Engineering Task Force)์ ์ง๋ ํ์ FastMail ์ ๋ฌธ๊ฐ์ ์ํด ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค. ์ด ํ๋กํ ์ฝ์ HTTPS ์์์ ์คํ๋๊ณ JSON์ ์ฌ์ฉํ๋ฉฐ(์ด๋ฌํ ์ด์ ๋ก ์ ์ ๋ฉ์์ง ๊ตํ๋ฟ๋ง ์๋๋ผ ํด๋ผ์ฐ๋์ ์ฌ๋ฌ ์์ ํด๊ฒฐ์๋ ์ ํฉํจ) ๋ชจ๋ฐ์ผ ์์คํ ์์ ๋ฉ์ผ ์์ ๊ตฌ์ฑ์ ๋จ์ํํฉ๋๋ค. JMAP๋ ํธ์ง ์ฒ๋ฆฌ ์ธ์๋ ์ฐ๋ฝ์ฒ ๋ฐ ๋ฌ๋ ฅ ์ค์ผ์ค๋ฌ ์์ ์ ์ํ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฐ๊ฒฐํ๋ ๊ธฐ๋ฅ๋ ์ ๊ณตํฉ๋๋ค.
์๋ก์ด ํ๋กํ ์ฝ์ ํน์ง
JMAP์
JMAP์ ์ด๋ฉ์ผ์ JSON ๊ตฌ์กฐ ํ์์ผ๋ก ํํ๋ฉ๋๋ค. ๋ฉ์์ง์ ๋ชจ๋ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
ํด๋ผ์ด์ธํธ๋ API๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ์ ์ ์ํฉ๋๋ค. ์ด๋ฅผ ์ํด ์ธ์ฆ๋ POST ์์ฒญ์ ์์ฑํ๋ฉฐ ๊ทธ ์์ฑ์ JMAP ์ธ์ ๊ฐ์ฒด์ ์ค๋ช ๋์ด ์์ต๋๋ค. ์์ฒญ์ application/json ํ์์ด๋ฉฐ ๋จ์ผ JSON ์์ฒญ ๊ฐ์ฒด๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์๋ฒ๋ ๋ํ ํ๋์ ์๋ต ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค.
ะ
{
"using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
"methodCalls": [
[ "method1", {
"arg1": "arg1data",
"arg2": "arg2data"
}, "c1" ],
[ "method2", {
"arg1": "arg1data"
}, "c2" ],
[ "method3", {}, "c3" ]
]
}
๋ค์์ ์๋ฒ๊ฐ ์์ฑํ ์๋ต์ ์์ ๋๋ค.
{
"methodResponses": [
[ "method1", {
"arg1": 3,
"arg2": "foo"
}, "c1" ],
[ "method2", {
"isBlah": true
}, "c2" ],
[ "anotherResponseFromMethod2", {
"data": 10,
"yetmoredata": "Hello"
}, "c2"],
[ "error", {
"type":"unknownMethod"
}, "c3" ]
],
"sessionState": "75128aab4b1b"
}
์์ ๊ตฌํ์ด ํฌํจ๋ ์ ์ฒด JMAP ์ฌ์์ ๋ค์์์ ์ฐพ์ ์ ์์ต๋๋ค.
/
์ ๋ง
ํ์ค์ ๋ํ ์์
์ด ์์ง ๊ณต์์ ์ผ๋ก ์๋ฃ๋์ง ์์์์๋ ๋ถ๊ตฌํ๊ณ ์ด๋ฏธ ํ๋ก๋์
ํ๊ฒฝ์์ ๊ตฌํ๋๊ณ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์คํ ๋ฉ์ผ ์๋ฒ์ ์์ฑ์๋
์์ผ๋ก JMAP ๊ธฐ๋ฐ ํ๋ก์ ํธ๊ฐ ์ ์ ๋ ๋ง์์ง ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, Linux ์์คํ
์ฉ IMAP ์๋ฒ๋ฅผ ๋ง๋๋ Open-Xchange ๊ฐ๋ฐ์๊ฐ ์ ํ๋กํ ์ฝ๋ก ์ ํํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. IMAP์ ๋งค์ฐ ๊ฑฐ๋ถํ์ญ์์ค.
IETF์ FastMail์ ๊ฐ๋ฐ์๋ค์ ์ ์ ๋ ๋ง์ ์ฌ์ฉ์๋ค์ด ๋ฉ์์ง์ ๋ํ ์๋ก์ด ๊ฐ๋ฐฉํ ํ์ค์ ํ์์ฑ์ ์ธ์ํ๊ณ ์๋ค๊ณ ๋งํฉ๋๋ค. JMAP ์์ฑ์๋ ์์ผ๋ก ๋ ๋ง์ ํ์ฌ๊ฐ ์ด ํ๋กํ ์ฝ์ ๊ตฌํํ๊ธฐ ์์ํ๊ธฐ๋ฅผ ํฌ๋งํฉ๋๋ค.
์ถ๊ฐ ๋ฆฌ์์ค ๋ฐ ์์ค:
์์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฅํ๋ ๋ฐฉ๋ฒ
1cloud.ru์ ์๋ฅผ ์ฌ์ฉํ ํด๋ผ์ฐ๋ ์๋น์ค์ DevOps
ํด๋ผ์ฐ๋ ์ํคํ ์ฒ์ ์งํ 1cloud
HTTPS์ ๋ํ ์ ์ฌ์ ๊ณต๊ฒฉ ๋ฐ ์ด๋ฅผ ๋ฐฉ์งํ๋ ๋ฐฉ๋ฒ
์ธํฐ๋ท์์ ์๋ฒ๋ฅผ ๋ณดํธํ๋ ๋ฐฉ๋ฒ: 1cloud.ru ๊ฒฝํ
์งง์ ๊ต์ก ํ๋ก๊ทธ๋จ: ์ง์์ ์ธ ํตํฉ์ด๋ ๋ฌด์์ ๋๊น?
์ถ์ฒ : habr.com