рдУрд░реЕрдХрд▓рдиреЗ рд╕реНрд╡рддрдГ Amazon S3 рд╡рд░реВрди API рдХреЙрдкреА рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ

рдУрд░реЕрдХрд▓рдиреЗ рд╕реНрд╡рддрдГ Amazon S3 рд╡рд░реВрди API рдХреЙрдкреА рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ
рдУрд░реЕрдХрд▓рдЪреЗ рд╡рдХреАрд▓ Android рдордзреАрд▓ Java API рдЪреНрдпрд╛ рдкреБрдиреНрд╣рд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рддреБрд▓рдирд╛ тАЬHarry PotterтАЭ рдЪреА рд╕рд╛рдордЧреНрд░реА рдХреЙрдкреА рдХрд░рдгреНрдпрд╛рд╢реА рдХрд░рддрд╛рдд, рдкреАрдбреАрдПрдл

рдЕрдореЗрд░рд┐рдХреЗрдЪреНрдпрд╛ рд╕рд░реНрд╡реЛрдЪреНрдЪ рдиреНрдпрд╛рдпрд╛рд▓рдпрд╛рдд рдпрд╛ рд╡рд░реНрд╖рд╛рдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдПрдХрд╛ рдорд╣рддреНрддреНрд╡рд╛рдЪреНрдпрд╛ рдЦрдЯрд▓реНрдпрд╛рдЪреА рд╕реБрдирд╛рд╡рдгреА рд╣реЛрдгрд╛рд░ рдЖрд╣реЗ. рдУрд░реЕрдХрд▓ рд╡рд┐ Google, рдЬреЗ рдмреМрджреНрдзрд┐рдХ рд╕рдВрдкрджрд╛ рдХрд╛рдпрджреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд API рдЪреА рдХрд╛рдпрджреЗрд╢реАрд░ рд╕реНрдерд┐рддреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрд▓. рдХреЛрд░реНрдЯрд╛рдиреЗ рдУрд░реЕрдХрд▓рдЪреНрдпрд╛ рдЕрдмреНрдЬрд╛рд╡рдзреА-рдбреЙрд▓рд░рдЪреНрдпрд╛ рдЦрдЯрд▓реНрдпрд╛рдд рдмрд╛рдЬреВ рдШреЗрддрд▓реНрдпрд╛рд╕, рддреЗ рд╕реНрдкрд░реНрдзрд╛ рдХрдореА рдХрд░реВ рд╢рдХрддреЗ рдЖрдгрд┐ рдЯреЗрдХ рджрд┐рдЧреНрдЧрдЬрд╛рдВрдЪреЗ рд╡рд░реНрдЪрд╕реНрд╡ рд╕рд┐рдореЗрдВрдЯ рдХрд░реВ рд╢рдХрддреЗ, рд╢рдХреНрдпрддреЛ Google рд╕реНрд╡рддрдГрд╕рд╣.

рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдУрд░реЕрдХрд▓рдЪрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдЖрдпрдмреАрдПрдордиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖реЗрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╡рд░ рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рд╣реЛрддрд╛ рдЖрдгрд┐ рдЖрддрд╛рд╣реА рдХрдВрдкрдиреА Amazon S3 рд╡рд░реВрди API рд╕рд╣ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдСрдлрд░ рдХрд░рддреЗ рдЖрдгрд┐ рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ. рдЙрджреНрдпреЛрдЧрд╛рдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрдкрд╛рд╕реВрдирдЪ рдПрдкреАрдЖрдп рд░реАрдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди рд╣рд╛ рд╕рдВрдЧрдгрдХ рд╡рд┐рдЬреНрдЮрд╛рдирд╛рдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдЪрд╛ рдПрдХ рдиреИрд╕рд░реНрдЧрд┐рдХ рднрд╛рдЧ рдЖрд╣реЗ.

рдУрд░реЕрдХрд▓рдиреЗ Google рд╡рд░ рдмреЗрдХрд╛рдпрджреЗрд╢реАрд░рдкрдгреЗ Java API рдЪреА рдХреЙрдкреА рдХреЗрд▓реНрдпрд╛рдЪрд╛ рдЖрд░реЛрдк рдХреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╡реНрдпрд╛рдХрд░рдгрд╛рдЪреНрдпрд╛ рд╕рдВрд░рдЪрдиреЗрд╢реА рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ рдирд╛рдорд╛рдВрдХрд┐рдд рдЖрджреЗрд╢рд╛рдВрдЪреА рдпрд╛рджреА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ. рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рдирд╛ рдирд╡реАрди рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдЖрдгрд┐ рдЬреНрдЮрд╛рди рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреЗ рд╕реЛрдкреЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Android рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рдд: Java API рд╢реА рд╕реБрд╕рдВрдЧрдд рдЖрд╣реЗ. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, Android рдиреЗ рд╕рдВрдмрдВрдзрд┐рдд Java API рдХрдорд╛рдВрдбреНрд╕ рдЖрдгрд┐ рд╡реНрдпрд╛рдХрд░рдгрд╛рдЪреНрдпрд╛ рд░рдЪрдирд╛рдВрдЪреА рддрдВрддреЛрддрдВрдд рдХреЙрдкреА рдХреЗрд▓реА. рдпреБрдХреНрддрд┐рд╡рд╛рдж рдУрд░реЕрдХрд▓ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА Java API рдЪреНрдпрд╛ рдЕрд╢рд╛ "рдкреБрдиреНрд╣рд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА" рдЪреА рддреБрд▓рдирд╛ рд▓реЗрдЦрдХрд╛рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреА рдХреЙрдкреА рдХрд░рдгреНрдпрд╛рд╢реА рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ, рдЬрд╕реЗ рдХреА рд╕рд╛рд╣рд┐рддреНрдпрд┐рдХ рдХрд╛рджрдВрдмрд░реА "рд╣реЕрд░реА рдкреЙрдЯрд░" (рд╣реЗ рдУрд░реЕрдХрд▓рдЪреНрдпрд╛ рд╡рдХрд┐рд▓рд╛рдВрдиреА рджрд┐рд▓реЗрд▓реЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг), рдЖрдгрд┐ Google рдиреЗ Java API рдХрдорд╛рдВрдб рдирд╛рд╡реЗ рдЖрдгрд┐ рд╕рдВрд░рдЪрдирд╛рдВрд╡рд░ рдУрд░реЕрдХрд▓рдЪреНрдпрд╛ рдХреЙрдкреАрд░рд╛рдЗрдЯрдЪреЗ рдЙрд▓реНрд▓рдВрдШрди рдХреЗрд▓реЗ рдЖрд╣реЗ.

рдкрд░рдВрддреБ Java API рд╣реЗ рдПрдХрдореЗрд╡ API рдирд╛рд╣реАрдд рдЖрдгрд┐ Android рд╣реЗ рдПрдХрдореЗрд╡ рдкреБрдирд░реНрдкреНрд░рд╡рд░реНрддрди рдирд╛рд╣реА. рдЖрдЬрдЪреНрдпрд╛ рдЖрдпрдЯреА рдЙрджреНрдпреЛрдЧрд╛рдд, рдПрдкреАрдЖрдп рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рдЖрд╣реЗрдд рдЖрдгрд┐ рдореЛрдареНрдпрд╛ рдХрдВрдкрдиреНрдпрд╛рдВрдирд╛ рдордХреНрддреЗрджрд╛рд░реА рдХрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рд░реЛрдЦрдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрдкрд░реНрдзрд╛ рдЯрд┐рдХрд╡реВрди рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрдирд░реНрдкреНрд░рдХреНрд╖реЗрдкрдг рдореВрд▓рднреВрдд рдЖрд╣реЗ. рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рдЪрд╛рд░реНрд▓реНрд╕ рдбреБрдЖрди рд╣реЗ рдЖрд░ рд╕реНрдЯреНрд░реАрдЯ рдЗрдиреНрд╕реНрдЯрд┐рдЯреНрдпреВрдЯрдордзреНрдпреЗ рддрдВрддреНрд░рдЬреНрдЮрд╛рди рдЖрдгрд┐ рдирд╡рдХрд▓реНрдкрдирд╛ рдзреЛрд░рдгрд╛рдЪреЗ рд╕рдВрдЪрд╛рд▓рдХ рдЖрд╣реЗрдд.

Duane рд▓реЛрдХрдкреНрд░рд┐рдп Amazon S3 рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрддреЗ. S3 рд╡рд░реВрди рдлрд╛рдпрд▓реА рд▓рд┐рд╣рд┐рдгреЗ рдЖрдгрд┐ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, Amazon рдиреЗ рд╕рд░реНрд╡рд╕рдорд╛рд╡реЗрд╢рдХ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ, рддрдкрд╢реАрд▓рд╡рд╛рд░ API рд╕реЗрд╡реЗрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрддрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдлрд╛рдпрд▓реАрдВрдЪреА рдпрд╛рджреА рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА (рд╡рд╕реНрддреВрдВрдЪреА рдпрд╛рджреА рдХрд░рд╛) рдЖрдореНрд╣реА рд╣реЛрд╕реНрдЯ рдЖрдгрд┐ рдЯрд╛рдЗрдк рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгрд╛рд░реА GET рдХрдорд╛рдВрдб рдкрд╛рдард╡рддреЛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ-рдкреНрд░рдХрд╛рд░, рд╕рд╛рддрддреНрдп-рдЯреЛрдХрди ╨╕ x-amz-рддрд╛рд░реАрдЦ. Amazon S3 рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдиреЗ рдпрд╛ рдЖрдгрд┐ рдЗрддрд░ рдЕрдиреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреА рдиреЗрдордХреА рдирд╛рд╡реЗ рд╡рд╛рдкрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

GET /?Delimiter=Delimiter&EncodingType=EncodingType&Marker=Marker&MaxKeys=MaxKeys&Prefix=Prefix HTTP/1.1
Host: Bucket.s3.amazonaws.com
x-amz-request-payer: RequestPayer

рдЕреЕрдореЗрдЭреЙрди рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рдорд╛рд░реНрдХреЗрдЯрдордзреНрдпреЗ рд╕реНрдкрд╖реНрдЯ рдиреЗрддрд╛ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА S3 API рдЪреА рдкреБрдиреНрд╣рд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рджреЗрддрд╛рдд, рддрд░ рддреНрдпрд╛рдВрдирд╛ рдХрдорд╛рдВрдбрдЪреА рдирд╛рд╡реЗ, рдкреЕрд░рд╛рдореАрдЯрд░ рдЯреЕрдЧ, рдЯрд╛рдЗрдк рдЙрдкрд╕рд░реНрдЧ рдпрд╛рдВрдЪреЗ рдЕрдиреБрдХрд░рдг рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреЗ. x-amz, рд╡реНрдпрд╛рдХрд░рдгрд╛рдЪреА рд░рдЪрдирд╛ рдЖрдгрд┐ S3 API рдЪреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд╕реНрдерд╛. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рдУрд░реЕрдХрд▓рдиреЗ рджрд╛рд╡рд╛ рдХреЗрд▓реЗрд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдХреЗрд▓реЗрд▓реА рдЖрд╣реЗ.

Amazon S3 API рдЪреА рдкреНрд░рдд рдСрдлрд░ рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдХрдВрдкрдиреНрдпрд╛рдВрдордзреНрдпреЗ рдЖрд╣реЗрдд рд╕реНрд╡рддрдГ рдУрд░реЕрдХрд▓ рджреЗрдЦреАрд▓ рдЖрд╣реЗ. рд╕реБрд╕рдВрдЧрддрддреЗрд╕рд╛рдареА, Amazon S3 Compatibility API, Amazon API рдЪреЗ рдЕрдиреЗрдХ рдШрдЯрдХ, x-amz рдЯреЕрдЧрдкрд░реНрдпрдВрдд рдХреЙрдкреА рдХрд░рддреЗ.

рдУрд░реЕрдХрд▓рдиреЗ рд╕реНрд╡рддрдГ Amazon S3 рд╡рд░реВрди API рдХреЙрдкреА рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ

рдУрд░реЕрдХрд▓рдЪрд╛ рджрд╛рд╡рд╛ рдЖрд╣реЗ рдХреА рддреНрдпрд╛рдЪреНрдпрд╛ рдХреГрддреАрдВрдЪреА рдХрд╛рдпрджреЗрд╢реАрд░рддрд╛ рдУрдкрди рд╕реЛрд░реНрд╕ рдЕрдкрд╛рдЪреЗ 2.0 рдкрд░рд╡рд╛рдиреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ, рдЬреЗ рдХреЛрдбрдЪреА рд╡рд┐рдирд╛рдореВрд▓реНрдп рдХреЙрдкреА рдЖрдгрд┐ рдмрджрд▓ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Java рд╕рд╛рдареА Amazon SDK Apache 2.0 рдкрд░рд╡рд╛рдиреНрдпрд╛рд╕рд╣ рджреЗрдЦреАрд▓ рдпреЗрддреЛ.

рдкрдг рдмреМрджреНрдзрд┐рдХ рд╕рдВрдкрджрд╛ рдХрд╛рдпрджрд╛ API рд╕рд╛рд░рдЦреНрдпрд╛ рдЧреЛрд╖реНрдЯреАрдВрдирд╛рд╣реА рд▓рд╛рдЧреВ рд╣реЛрддреЛ рдХрд╛, рд╣рд╛ рдкреНрд░рд╢реНрди рдЖрд╣реЗ. рд╣реЗ рд╕рд░реНрд╡реЛрдЪреНрдЪ рдиреНрдпрд╛рдпрд╛рд▓рдпрд╛рдиреЗ рдард░рд╡рд╛рд╡реЗ.

API рдЪрд╛ рд╢реЛрдз рдХреЛрдгреА рд▓рд╛рд╡рд▓рд╛?

"рд╕рдмрд░реБрдЯреАрди рд▓рд╛рдпрдмреНрд░рд░реА" рдЪреА рд╕рдВрдЬреНрдЮрд╛ рдЖрдгрд┐ рд╕рдВрдХрд▓реНрдкрдирд╛ рдкреНрд░рдердо рд╣рд░реНрдорди рдЧреЛрд▓реНрдбрд╕реНрдЯреАрди рдЖрдгрд┐ рдЬреЙрди рдлреЙрди рдиреНрдпреВрдорди рдпрд╛рдВрдЪреНрдпрд╛ рдкреНрд▓реЕрдирд┐рдВрдЧ рдЕрдБрдб рдХреЛрдбрд┐рдВрдЧ рдкреНрд░реЙрдмреНрд▓реЗрдореНрд╕ рдлреЙрд░ рдЕреЕрди рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдХреЙрдореНрдкреНрдпреБрдЯрд┐рдВрдЧ рдЗрдиреНрд╕реНрдЯреНрд░реБрдореЗрдВрдЯ - рднрд╛рдЧ II, рдЦрдВрдб III (рдкреНрд░рд┐рдиреНрд╕рдЯрди рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд┐рдЯреА рдЗрдиреНрд╕реНрдЯрд┐рдЯреНрдпреВрдЯ рдСрдл рдЕреЕрдбрд╡реНрд╣рд╛рдиреНрд╕реНрдб рд╕реНрдЯрдбреА, 1948) рдпрд╛ рдкреБрд╕реНрддрдХрд╛рдд рджрд┐рд╕реВрди рдЖрд▓реА. archive.org рд╡рд░ рдХреЙрдкреА рдХрд░рд╛. рддрд┐рд╕рд▒реНрдпрд╛ рдЦрдВрдбрд╛рддреАрд▓ рд╕рд╛рдордЧреНрд░реА:

рдУрд░реЕрдХрд▓рдиреЗ рд╕реНрд╡рддрдГ Amazon S3 рд╡рд░реВрди API рдХреЙрдкреА рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ

рдореЗрдорд░реАрдордзреНрдпреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рд╕рдВрдЧрдгрдХрд╛рдВрд╕рд╛рдареА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрджреНрдзрддреАрдЪреЗ рд╣реЗ рдкрд╣рд┐рд▓реЗ рд╡рд░реНрдгрди рдЖрд╣реЗ (рдкреВрд░реНрд╡реА рд╣реЗ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдирд╡реНрд╣рддреЗ). рд╣реЗ рд╡рд┐рджреНрдпрд╛рдкреАрдард╛рдВрдирд╛ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рд╡рд░ рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ, рдЬреЗ рддреНрдпрд╛ рд╡реЗрд│реА рддреНрдпрд╛рдВрдЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рд╕рдВрдЧрдгрдХ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реАрдд рд╣реЛрддреЗ. рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореНрд╣рдгрдЬреЗ, рдкреБрд╕реНрддрдХрд╛рдд рдПрдХ рдореБрдЦреНрдп рдХрд▓реНрдкрдирд╛ рдЖрд╣реЗ: рдмрд╣реБрддреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрд╢рдиреНрд╕ рд╡рд╛рдкрд░рддреАрд▓ рдЖрдгрд┐ рд░реВрдЯреАрдирд╕рд╣ рд▓рд╛рдпрдмреНрд░рд░реА рдирд╡реАрди рдХреЛрдб рдЖрдгрд┐ рддреНрд░реБрдЯреАрдВрдЪреЗ рдкреНрд░рдорд╛рдг рдХрдореА рдХрд░рддреАрд▓. рд╣реА рдХрд▓реНрдкрдирд╛ рдореЙрд░рд┐рд╕ рд╡рд┐рд▓реНрдХреНрд╕рдиреЗ рдЖрдгрдЦреА рдкрд░рд┐рд╖реНрдХреГрдд рдХреЗрд▓реА рдЖрдгрд┐ рдИрдбреАрдПрд╕рдПрд╕реА рдорд╢реАрдирдордзреНрдпреЗ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдЖрдгрд▓реА, рдЬреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рдВрдирд╛ 1967 рдЪрд╛ рдЯреНрдпреБрд░рд┐рдВрдЧ рдкреБрд░рд╕реНрдХрд╛рд░ рдорд┐рд│рд╛рд▓рд╛.

рдУрд░реЕрдХрд▓рдиреЗ рд╕реНрд╡рддрдГ Amazon S3 рд╡рд░реВрди API рдХреЙрдкреА рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ
EDSAC рд╕рдмрд░реВрдЯреАрди рд▓рд╛рдпрдмреНрд░рд░реА рдбрд╛рд╡реАрдХрдбреЗ рдЖрд╣реЗ

рдореЙрд░рд┐рд╕ рд╡рд┐рд▓реНрдХреНрд╕ рдЖрдгрд┐ рдбреЗрд╡реНрд╣рд┐рдб рд╡реНрд╣реАрд▓рд░ рдпрд╛рдВрдиреА рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдбрд┐рдЬрд┐рдЯрд▓ рдХреЙрдореНрдкреНрдпреБрдЯрд░ (1951) рд╕рд╛рдареА рдкреНрд░реЛрдЧреНрд░реЕрдореНрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдордзреНрдпреЗ рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рдЙрдЪреНрдЪ-рдСрд░реНрдбрд░ рдлрдВрдХреНрд╢рдиреНрд╕ рдЖрдгрд┐ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╣реА рдкреБрдвреАрд▓ рдкрд╛рдпрд░реА рд╣реЛрддреА.

рдкрдж рд╕реНрд╡рддрдГ ProgramрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрдВрдЯрд░рдлреЗрд╕ (API) 60 рдЪреНрдпрд╛ рджрд╢рдХрд╛рдЪреНрдпрд╛ рдЙрддреНрддрд░рд╛рд░реНрдзрд╛рдд рдХреБрдареЗрддрд░реА рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реЗ.

рд╕рд╛рджрд░реАрдХрд░рдгрд╛рдЪреЗ рд▓реЗрдЦрдХ "рдПрдкреАрдЖрдпрдЪрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдЗрддрд┐рд╣рд╛рд╕" рдЬреЛрд╢реБрдЖ рдмреНрд▓реЙрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕, рд╕реВрдЪрдирд╛ рд╕рдВрдЪ рдЖрдгрд┐ рд╕рдмрд░реВрдЯреАрди рд▓рд╛рдпрдмреНрд░рд░реАрдЪреА рдЕрдиреЗрдХ рдЙрджрд╛рд╣рд░рдгреЗ рджреЗрддреЛ: рддреЗ рдХрд╕реЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрдгрд┐ рдирдВрддрд░ рд╡рд╛рдкрд░рд▓реЗ рдЧреЗрд▓реЗ. рдХрд▓реНрдкрдирд╛ рдЕрд╢реА рдЖрд╣реЗ рдХреА рдкреБрдирд░реНрд╡рд╛рдкрд░ рд╣рд╛ API рдЪрд╛ рдореБрджреНрджрд╛ рдЖрд╣реЗ. рдпрд╛рд╕рд╛рдареА рддреЗ рдкреНрд░рдердорддрдГ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ. рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдирд╛ рдиреЗрд╣рдореА рдЗрддрд░ рд▓реЛрдХрд╛рдВрдЪреЗ API рдХреЙрдкреА рдЖрдгрд┐ рд░реАрдореЗрдХ рдХрд░рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдЕрд╕рддреЗ:

API
рдирд┐рд░реНрдорд╛рддрд╛
╨У╨╛╨┤
рдкреБрдиреНрд╣рд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА
╨У╨╛╨┤

рдлреЛрд░рдЯреНрд░рд╛рди рд▓рд╛рдпрдмреНрд░рд░реА
IBM
1958
рдпреБрдирд┐рд╡реНрд╣реЕрдХ
1961

IBM S/360 ISA
IBM
1964
Amdahl рдХреЙрд░реНрдкреЛрд░реЗрд╢рди
1970

рд╕реНрдЯрдБрдбрд░реНрдб рд╕реА рд▓рд╛рдпрдмреНрд░рд░реА
AT&T/Bell Labs
1976
рдорд╛рд░реНрдХ рд╡рд┐рд▓реНрдпрдореНрд╕ рдХрдВ.
1980

рдпреБрдирд┐рдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓
AT&T/Bell Labs
1976
рдорд╛рд░реНрдХ рд╡рд┐рд▓реНрдпрдореНрд╕ рдХрдВ.
1980

VT100 Esc Seqs
DEC
1978
рд╣реЗрдердХрд┐рдЯ
1980

IBM PC BIOS
IBM
1981
рдлрд┐рдирд┐рдХреНрд╕ рдЯреЗрдХреНрдиреЙрд▓реЙрдЬреАрдЬ
1984

MS-DOS CLI
рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯ
1981
рдлреНрд░реАрдбреЙрд╕ рдкреНрд░рдХрд▓реНрдк
1998

рд╣реЗрд╕ рдПрдЯреА рдХрдорд╛рдВрдб рд╕реЗрдЯ
рд╣реЗрд╕ рдорд╛рдпрдХреНрд░реЛ
1982
рдЕрдБрдХрд░ рдСрдЯреЛрдореЗрд╢рди
1985

рдкреЛрд╕реНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдЕрдбреЛрдм
1985
GNU/GhostScript
1988

SMB
рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯ
1992
рд╕рд╛рдВрдмрд╛ рдкреНрд░рдХрд▓реНрдк
1993

Win32
рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯ
1993
рд╡рд╛рдЗрди рдкреНрд░рдХрд▓реНрдк
1996

Java 2 рд╡рд░реНрдЧ рд▓рд╛рдпрдмреНрд░рд░реА
рд╕реВрд░реНрдп
1998
Google/Android
2008

рд╡реЗрдм API рд╕реНрд╡рд╛рджрд┐рд╖реНрдЯ
рдордзреБрд░
2003
рдкрд┐рдирдмреЛрд░реНрдб
2009

рд╕реНрддреНрд░реЛрдд: "рдПрдкреАрдЖрдпрдЪрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдЗрддрд┐рд╣рд╛рд╕"

рдПрдкреАрдЖрдп (рд▓рд╛рдпрдмреНрд░рд░реА, рд╕реВрдЪрдирд╛ рд╕рдВрдЪ) рдХреЙрдкреА рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛ рд╡рд╛рдкрд░рдгреЗ рдХреЗрд╡рд│ рдпреЛрдЧреНрдп рдирд╛рд╣реА, рдкрд░рдВрддреБ рд╕рдВрдЧрдгрдХ рд╡рд┐рдЬреНрдЮрд╛рдирд╛рдЪреНрдпрд╛ рдирд┐рдпрдорд╛рдВрдордзреНрдпреЗ рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрджреНрдзрддреАрдЪреА рдереЗрдЯ рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА рдЬрд╛рддреЗ. S3 рдкреНрд░реЛрдЧреНрд░реЕрдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЙрдкреА рдХрд░рдгреНрдпрд╛рдЖрдзреАрд╣реА, рдУрд░реЕрдХрд▓рдиреЗ рд╣реЗ рдЕрдиреЗрдХ рд╡реЗрд│рд╛ рдХреЗрд▓реЗ. рд╢рд┐рд╡рд╛рдп, рдУрд░реЕрдХрд▓рдЪрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ IBM рдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ SQL рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖реЗрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╡рд░ рдмрд╛рдВрдзрд▓рд╛ рдЧреЗрд▓рд╛. рдУрд░реЕрдХрд▓рдЪреЗ рдкрд╣рд┐рд▓реЗ рдлреНрд▓реЕрдЧрд╢рд┐рдк рдЙрддреНрдкрд╛рджрди рдбреАрдмреАрдПрдордПрд╕ рд╣реЛрддреЗ, рдЬреНрдпрд╛рдЪреА рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдЖрдпрдмреАрдПрдо рд╕рд┐рд╕реНрдЯрдо рдЖрд░ рд╡рд░реВрди рдХреЙрдкреА рдХреЗрд▓реА рдЧреЗрд▓реА рд╣реЛрддреА. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЖрдореНрд╣реА рдбреАрдмреАрдПрдордПрд╕рд╕рд╛рдареА тАЬрдорд╛рдирдХ APIтАЭ рдореНрд╣рдгреВрди SQL рдЪреНрдпрд╛ рдкреБрдиреНрд╣рд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдмрджреНрджрд▓ рдмреЛрд▓рдд рдЖрд╣реЛрдд.

API рд╡рд░ рдмреМрджреНрдзрд┐рдХ рд╕рдВрдкрджрд╛ рдЕрдзрд┐рдХрд╛рд░ рд▓рд╛рджрд▓реНрдпрд╛рдиреЗ рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдгрд╛рд░реЗ рдХрд╛рдпрджреЗрд╢реАрд░ рдорд╛рдЗрдирдлреАрд▓реНрдб рддрдпрд╛рд░ рд╣реЛрдК рд╢рдХрддреЗ. API рдЗрдВрдЯрд░рдлреЗрд╕ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЖрдгрд┐ рдЗрддрд░ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛. рдЕрдиреЗрдХ рддрд╛рдВрддреНрд░рд┐рдХ рдорд╛рдирдХреЗ, рдЬрд╕реЗ рдХреА рд╡рд╛рдп-рдлрд╛рдп рдЖрдгрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдордзреНрдпреЗ API рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд. рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕ рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░реАрд▓ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЧрдгрдХрд╛рд╡рд░ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдХреЛрдгрддреНрдпрд╛ рдирд╛ рдХреЛрдгрддреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдкреБрдиреНрд╣рд╛ рд▓рд╛рдЧреВ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. Oracle рдЪреНрдпрд╛ рдХреЙрдкреАрд░рд╛рдЗрдЯ рд╕рд┐рджреНрдзрд╛рдВрддрд╛рдореБрд│реЗ рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдХрд╛рдБрдкреНрдпреБрдЯрд░рд╡рд░ рдЬреЗ рдХрд╛рд╣реА рдХрд░рддрд╛ рддреЗ рдмреЗрдХрд╛рдпрджреЗрд╢реАрд░ рдмрдирд╡реВ рд╢рдХрддреЗ.

рд╣реЗ рджреВрд░рдЧрд╛рдореА рдкрд░рд┐рдгрд╛рдо рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА, Oracle рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рдпреБрдХреНрддрд┐рд╡рд╛рджрд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдгрд╛рд░реНтАНрдпрд╛ рдЕрдкреАрд▓реАрдп рдиреНрдпрд╛рдпрд╛рд▓рдпрд╛рдиреЗ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдЙрд▓реНрд▓рдВрдШрдирд╛рд▓рд╛ рдХрд╛рд╣реА API рд░реАрдЗрдореНрдкреНрд▓рд┐рдореЗрдВрдЯреЗрд╢рдиреНрд╕рдкрд░реНрдпрдВрдд рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛ рдЖрд╣реЗ рдЬреЗ рдореВрд│рд╢реА тАЬрд╡рд┐рд╕рдВрдЧрддтАЭ рдЖрд╣реЗрдд. рдкрдг рдЕрдВрд╢рддрдГ рдкреБрдиреНрд╣рд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рджреЗрдЦреАрд▓ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗрдд. рддреНрдпрд╛рдЪреНрдпрд╛ S3 API рдЪреНрдпрд╛ рдкреНрд░рддрдордзреНрдпреЗрд╣реА, Oracle рдореВрд│ Amazon API рд╕рд╣ рдЕрд╕рдВрдЦреНрдп "рднреЗрдж" рдЖрдгрд┐ рд╡рд┐рд╕рдВрдЧрддреА рд▓рдХреНрд╖рд╛рдд рдШреЗрддреЗ.

рдУрд░реЕрдХрд▓рдЪреНрдпрд╛ рдЦрдЯрд▓реНрдпрд╛рдЪрд╛ рдореБрдЦреНрдп рдзреЛрдХрд╛ рд╣рд╛ рдЖрд╣реЗ рдХреА рддреЗ рд▓рд╣рд╛рди рддрдВрддреНрд░рдЬреНрдЮрд╛рди рдХрдВрдкрдиреНрдпрд╛рдВрдирд╛ S3 рд╕рд╛рд░рдЦреНрдпрд╛ рдкреНрд░рдмрд│ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╢реА рд╕реБрд╕рдВрдЧрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рд░реЛрдЦреВ рд╢рдХрддрд╛рдд. рдЕрд╢рд╛ рд╕реБрд╕рдВрдЧрддрддреЗрд╢рд┐рд╡рд╛рдп, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдпрд╛ рдХрдВрдкрдиреАрдЪреНрдпрд╛ рдСрдлрд░рдордзреВрди рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рд▓реЙрдХ рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓.

рдЙрджреНрдпреЛрдЧ рдкреНрд░рддрд┐рдирд┐рдзреА рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕рдХ рдлрдХреНрдд рдЕрд╢реА рдЖрд╢рд╛ рдХрд░реВ рд╢рдХрддрд╛рдд рдХреА рдпреЗрдереЗ рдХрд╛рд░рдг рдкреНрд░рдмрд│ рд╣реЛрдИрд▓, рдЖрдгрд┐ рдиреНрдпрд╛рдпрд╛рдзреАрд╢рд╛рдВрдирд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрдЪреА рдореВрд▓рднреВрдд рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛