рдЗрд╕ рдорд╣реАрдиреЗ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реИрдХрд░ рдиреНрдпреВрдЬрд╝ рдкрд░
рдореБрдЭреЗ IMAP рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛
рдкреНрд░реЛрдЯреЛрдХреЙрд▓
рдПрдХ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╛рддрд╛рдпрд╛рдд рдЦрдкрдд рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред IMAP рдХреЗ рд╕рд╛рде, рдИрдореЗрд▓ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╕рдордп-рд╕рдордп рдкрд░ рд╕реНрдерд╛рдиреАрдп рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХреЙрдкреА рджреВрд╖рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╕рднреА рдореЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдзреБрдирд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдЬрдм рд╣рдЬрд╛рд░реЛрдВ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЦрдкрдд рдмрдврд╝ рдЬрд╛рддреА рд╣реИред
рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рди рдХреЗрд╡рд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдИрдореЗрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рднреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рд╕реЗ, IMAP рдХрдИ рдмрд╛рд░ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЗ рдЕрдзреАрди рд░рд╣рд╛ рд╣реИ - рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдЖрдЬ IMAP4 рд╣реИред рд╡рд╣реАрдВ, рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдИ рд╡реИрдХрд▓реНрдкрд┐рдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рднреА рдореМрдЬреВрдж рд╣реИрдВ
рд╕рд╛рде рд╣реА, рдХрдИ рдХрдВрдкрдирд┐рдпрд╛рдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╕рдорд╛рдзрд╛рди рдкреЗрд╢ рдХрд░рддреА рд╣реИрдВ рдЬреЛ рдЖрдИрдПрдордПрдкреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рднреА рдХрд░рддреЗ рд╣реИрдВ:
IaaS рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдореБрдЦ рд╕рд░реНрдЧреЗрдИ рдмреЗрд▓реНрдХрд┐рди рдХрд╣рддреЗ рд╣реИрдВ, "рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдЖрдзреБрдирд┐рдХ рдИрдореЗрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рди рдХреЗрд╡рд▓ рд╕рдВрджреЗрд╢ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд▓реНрдХрд┐ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рдХреИрд▓реЗрдВрдбрд░ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред"
1cloud.ru . тАФ рдЖрдЬ, рддреГрддреАрдп-рдкрдХреНрд╖ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЬреИрд╕реЗрдПрд▓рдбреАрдПрдкреА ,рдХрд╛рд░реНрдбрдбрд╛рд╡ ╨╕CalDAV . рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╕рд╛рдЗрдмрд░ рд╣рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдирдП рд╡реИрдХреНрдЯрд░ рдЦреЛрд▓рддрд╛ рд╣реИред
рдЬреЗрдПрдордПрдкреА рдХреЛ рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдЯрд╛рд╕реНрдХ рдлреЛрд░реНрд╕ (IETF) рдХреЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдореЗрдВ рдлрд╛рд╕реНрдЯрдореЗрд▓ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ HTTPS рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, JSON рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рдпрд╣ рди рдХреЗрд╡рд▓ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреБрдХреНрдд рд╣реИ) рдФрд░ рдореЛрдмрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╕рдВрдЧрдарди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред рдкрддреНрд░реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреЗрдПрдордПрдкреА рд╕рдВрдкрд░реНрдХреЛрдВ рдФрд░ рдПрдХ рдХреИрд▓реЗрдВрдбрд░ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдирдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
рдЬреЗрдПрдордПрдкреА рд╣реИ
JMAP рдореЗрдВ рдПрдХ рдИрдореЗрд▓ рдХреЛ JSON рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╕рдВрджреЗрд╢ рдХреА рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИ
рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдкреНрд░рдорд╛рдгрд┐рдд POST рдЕрдиреБрд░реЛрдз рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЧреБрдг JMAP рд╕рддреНрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВред рдЕрдиреБрд░реЛрдз рдПрдкреНрд▓рд┐рдХреЗрд╢рди/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"
}
рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рдЬреЗрдПрдордПрдкреА рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
/
рд╕рдВрднрд╛рд╡рдирд╛
рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдорд╛рдирдХ рдкрд░ рдХрд╛рдо рдЕрднреА рддрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдУрдкрди рдореЗрд▓ рд╕рд░реНрд╡рд░ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛
рд╣рдо рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЬреЗрдПрдордПрдкреА-рдЖрдзрд╛рд░рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реЛрдВрдЧреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдУрдкрди-рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕, рдЬреЛ рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЖрдИрдПрдордПрдкреА рд╕рд░реНрд╡рд░ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдирдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВрдЧреЗред рдЙрдиреНрд╣реЗрдВ IMAP рд╕реЗ рдмрд╣реБрдд рдордирд╛ рдХрд░реЗрдВ
IETF рдФрд░ рдлрд╛рд╕реНрдЯрдореЗрд▓ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореИрд╕реЗрдЬрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдП рдЦреБрд▓реЗ рдорд╛рдирдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рдЬреЗрдПрдордПрдкреА рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдХрдВрдкрдирд┐рдпрд╛рдВ рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреАред
рд╣рдорд╛рд░реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрди рдФрд░ рд╕рдВрд╕рд╛рдзрди:
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдХреИрд╕реЗ рдмрдЪрдд рдХрд░реЗрдВ
1cloud.ru рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдореЗрдВ DevOps
рдХреНрд▓рд╛рдЙрдб рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ 1рдХреНрд▓рд╛рдЙрдб рдХрд╛ рд╡рд┐рдХрд╛рд╕
HTTPS рдкрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд╣рдорд▓реЗ рдФрд░ рдЙрдирд╕реЗ рдмрдЪрд╛рд╡ рдХреИрд╕реЗ рдХрд░реЗрдВ
рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕рд░реНрд╡рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ: 1cloud.ru рдЕрдиреБрднрд╡
рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо: рд╕рддрдд рдПрдХреАрдХрд░рдг рдХреНрдпрд╛ рд╣реИ
рд╕реНрд░реЛрдд: www.habr.com