ืขืืจืื ืืื ืฉื ืืืจืงื ืืฉืืืื ืืช ืืืืฉืื ืืืืฉ ืฉื Java API ืืื ืืจืืืื ืขื ืืขืชืงืช ืืชืืื ืฉื "ืืืจื ืคืืืจ",
ืืืช ืืืฉืคื ืืขืืืื ืฉื ืืจื"ื ืืืื ืืชืืง ืืฉืื ืืชืืืืช ืืฉื ื.
ืืืงืืื, ืืขืกืง ืฉื ืืืจืงื ื ืื ื ืชืืืื ืขื ืืืฉืื ืฉืคืช ืืชืื ืืช SQL ืฉืคืืชืื ืขื ืืื ืืื, ืืืืจ ืืขืช ืืืืจื ืืฆืืขื ืฉืืจืืช ืขื ื ืขื API ืืืืช Amazon S3, ืืื ื ืืจืืื ืืืืืืื. ืืืฉืื ืืืืฉ ืฉื API ืืื ืืืง ืืืขื ืืคืืชืื ืืืขื ืืืืฉื ืืื ืชืืืืช ืืชืขืฉืืื.
ืืืจืงื ืืืฉืืื ืืช ืืืื ืืืขืชืงื ืื ืืืงืืช ืฉื Java API, ืืืื ืจืฉืืื ืฉื ืคืงืืืืช ืืฉื ืืงืฉืืจืืช ืืืื ืื ืืงืืืงืืื. ืืขืจืืช ืืืคืขืื ืื ืืจืืืื ืชืืืืช ืืืืืื ื-Java API ืืื ืืืงื ืขื ืืชืื ืชื Java ืืืขืืืจ ืชืืื ืืช ืืืืข ืืคืืืคืืจืื ืืืืฉื. ืืฉื ืื, ืื ืืจืืืื ืืขืชืืงื ืืืืืง ืืช ืคืงืืืืช ื-API ืฉื Java ืืืช ืืืื ืื ืืืงืืืงืืื.
ืืื ืืืฉืงื API ืฉื Java ืื ืื ืืืฉืงื ื-API ืืืืืืื, ืืื ืืจืืืื ืืื ืื ืืืืฉืื ืืืืฉ ืืืืื. ืืชืขืฉืืืช ื-IT ืฉื ืืืื, ืืืฉืงื API ื ืืฆืืื ืืื ืืงืื, ืืืืืจื ืืืืฉ ืืื ืืกืืกืืช ืืฉืืืจื ืขื ืชืืจืืช ืืื ืืื ืืข ืืืืจืืช ืืืืืืช ืืขืฉืืช ืืื ืืคืื
Duane ื ืืชื ืืช ืืืืืื ืฉื ืคืืืคืืจืืช ืืืืกืื ืืคืืคืืืจืืช Amazon S3. ืืื ืืืคืฉืจ ืืชืืื ืืืืืืจ ืฉื ืงืืฆืื ื-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
ืืืืื ืืื ืืืืืืื ืืืืืืงืช ืืฉืืง ืฉืืจืืชื ืืขื ื, ืืืืชืืจืืช ืฉืื ืืฆืืขืืช ืืืืขืืช ืืืืฉ ืฉื ื-API ืฉื S3, ืชืื ืฉืื ืฆืจืืืื ืืืงืืช ืฉืืืช ืคืงืืืืช, ืชืืืืช ืคืจืืืจืื, ืงืืืืืืช ืืงืืื x-amz, ืืื ื ืืงืืืงื ืืืจืืื ืืืื ืฉื ื-API ืฉื S3. ืืืืืื ืืืจืืช, ืื ืื ืฉืืืจืงื ืืืขื ืช ืืืื ืืืืืืืช ืืืฆืจืื.
ืืื ืืืืจืืช ืืืฆืืขืืช ืขืืชืง ืฉื ื-API ืฉื Amazon S3
ืืืจืงื ืืืขื ืช ืฉืืืืงืืืช ืฉื ืคืขืืืืชืื ืืืืกืกืช ืขื ืจืืฉืืื ืืงืื ืืคืชืื Apache 2.0, ืืืืคืฉืจ ืืขืชืงื ืืฉืื ืื ืืื ื ืฉื ืงืื. ืืืืืื,
ืืื ืืฉืืื ืืื ืืื ืืื ื ืืงื ืืื ืืจืืื ื ืืืื ืืืื ืขื ืืืจืื ืืื ืืืฉืงื API. ืื ืื ืฉืขื ืืืช ืืืฉืคื ืืขืืืื ืืงืืืข.
ืื ืืืฆืื ืืช ื-API?
ืืืื ื ืืืืืฉื ืฉื "ืกืคืจืืืช ืชืช-ืฉืืจื" ืืืคืืขื ืืจืืฉืื ื ืืกืคืจ ืชืื ืื ืืงืืืื ืืขืืืช ืขืืืจ ืืืฉืืจ ืืืฉืื ืืืงืืจืื ื - ืืืง ื', ืืจื ืฉืืืฉื (ืืืื ืืืืงืจ ืืชืงืื ืฉื ืืื ืืืจืกืืืช ืคืจืื ืกืืื, 1948) ืืืช ืืจืื ืืืืืฉืืืื ืื'ืื ืคืื ื ืืืื.
ืืื ืืชืืืืจ ืืจืืฉืื ืฉื ืืชืืืืืืืืืช ืชืื ืืช ืืืืฉืืื ืืืืืกื ืช ืชืืื ืืืช ืืืืืจืื (ืงืืื ืืื ืื ืื ืืื ืงืืื). ืืื ืืืคืฅ ืืืืคื ื ืจืื ืืืื ืืืจืกืืืืืช, ืฉืืืืชื ืชืงืืคื ื ืืกื ืืืฆืืจ ืืืฉืืื ืืฉืืื. ืืืื ืืฉืื, ืืกืคืจ ืืืื ืจืขืืื ืืจืืื: ืจืื ืืชืืื ืืืช ืืฉืชืืฉื ืืคืขืืืืช ื ืคืืฆืืช, ืืกืคืจืืืช ืขื ืฉืืจืืช ืืคืืืชื ืืช ืืืืช ืืงืื ืืืฉืืืืืช ืืืืฉืื. ืจืขืืื ืื ืฉืืืื ืขืื ืืืชืจ ืขื ืืื ืืืจืืก ืืืืืงืก ืืืืฉื ืืคืืขื ืืืืื ืช EDSAC, ืฉืขืืื ืงืืื ืืช ืคืจืก ืืืืจืื ื ืืฉื ืช 1967.
ืกืคืจืืืช ืชืชื ืืฉืืจื ืฉื EDSAC ื ืืฆืืช ืืฆื ืฉืืื
ืืฉืื ืืื ืืื ืืฆืืจืช ืคืื ืงืฆืืืช ืืกืืจ ืืืื ืืืืฉืงื ืชืืื ื ืืืืื, ืืคื ืฉืขืฉื ืืืจืืก ืืืืืงืก ืืืืืืื ืืืืืจ ืืืื ืช ืชืืื ืืืช ืืืืฉื ืืืืืืืื ืืืืงืืจืื ื (1951).
ืืืื ื ืขืฆืื ืืืฉืง ืชืืื ืืช ืืืฉืื (API) ืืืคืืข ืื ืฉื ืืกืืฃ ืฉื ืืช ื-60.
ืืืืจ ืืืฆืืช
API
ืืืจื
ืฉื ื
ืืืฉืื ืืืืฉ
ืฉื ื
ืกืคืจืืืช FORTRAN
ืืื
1958
ืืื ืืืืืง
1961
IBM S/360 ISA
ืืื
1964
ืืืืื ืงืืจืค
1970
ืกืคืจืืืช C ืกืื ืืจืืืช
AT&T/Bell Labs
1976
ืืืจืง ืืืืืืืืก ืืฉืืช'
1980
ืฉืืืืช ืืขืจืืช ืืื ืืงืก
AT&T/Bell Labs
1976
ืืืจืง ืืืืืืืืก ืืฉืืช'
1980
VT100 Esc Seqs
ืืฆืืืจ
1978
ืืืช'ืงืื
1980
BIOS PC ืฉื IBM
ืืื
1981
ืคืื ืืงืก ืืื ืืืืืืืช
1984
MS-DOS CLI
ืืืงืจืืกืืคื
1981
ืคืจืืืงื FreeDOS
1998
ืขืจืืช ืืคืงืืืืช ืฉื Hayes AT
ืืืื ืืืงืจื
1982
ืืืืืืฆืื ืฉื ืขืืื
1985
PostScript
Adobe
1985
GNU/GhostScript
1988
SMB
ืืืงืจืืกืืคื
1992
ืคืจืืืงื ืกืืื
1993
Win32
ืืืงืจืืกืืคื
1993
ืคืจืืืงื ืืื
1996
ืกืคืจืืืช ืืืืงืืช Java 2
ืฉืืฉ
1998
ืืืื/ืื ืืจืืืื
2008
ืืื ืืจื ื API ืืขืื
ืึธืขึดืื ืึฐืืึนื
2003
ืืื
2009
ืืงืืจ:
ืืขืชืงื ืืฉืืืืฉ ืืืืจ ืืืืฉืงื API (ืกืคืจืืืช, ืขืจืืืช ืืืจืืืช) ืื ืื ืจืง ื ืืื ืื, ืืื ืฉืืชืืืืืืืืืช ืชืื ืืช ืื ืืืืืฆืช ืืฉืืจืืช ืืงื ืื ืื ืฉื ืืืขื ืืืืฉื. ืขืื ืืคื ื ืืขืชืงืช ืืืฉืงื ืชืื ืืช S3, ืืืจืงื ืขืฆืื ืขืฉืชื ืืืช ืคืขืืื ืจืืืช. ืืชืจื ืืื, ืืขืกืง ืฉื ืืืจืงื ื ืื ื ืืชืืืื ืขื ืืืฉืื ืฉืคืช ืืชืื ืืช SQL ืฉืคืืชืื ืขื ืืื IBM. ืืืฆืจ ืืืื ืืจืืฉืื ืฉื ืืืจืงื ืืื DBMS, ืฉืืืขืชืง ืืจืืื ื-IBM System R. ืืืงืจื ืื, ืื ื ืืืืจืื ืขื ืืืฉืื ืืืืฉ ืฉื SQL ื"API ืกืื ืืจืื" ืขืืืจ DBMS.
ืืืืช ืืืืืืช ืงื ืืื ืจืืื ื ืขื ืืืฉืงื API ืืืืื ืืืฆืืจ ืฉืื ืืืงืฉืื ืืืงื ืฉืืฉืคืืข ืขื ืืืื. ืืืฉืงื API ืืืืฉืืื ื
ืืื ืืืืื ืข ืืืฉืืืืช ืืจืืืงืืช ืืืช ืืื, ืืืจืงื ืืืืช ืืืฉืคื ืืขืจืขืืจืื ืฉืืืฉืจื ืืช ืืืขืื ืื ื ืืกื ืืืืืื ืืช ืืคืจืช ืืืืืืช ืืืืฆืจืื ืืืืืืฉืื ืืืืจืื ืืกืืืืื ืฉื API ืฉ"ืืื ื ืชืืืืื" ืืืงืืจ. ืืื ืื ืืืฉืื ืืืืฉ ืืืงื
ืืกืื ื ืืขืืงืจืืช ืืชืืืขื ืฉื ืืืจืงื ืืื ืฉืืื ืขืืืื ืืื ืืข ืืืืจืืช ืืื ืืืืืื ืงืื ืืช ืืืชืจ ืืืฆืืจ ืืจืกืืืช ืฉื ืืขืจืืืช ืืชืืืืืช ืืคืืืคืืจืืืช ืืืืื ื ืืืืช ืืื S3. ืืื ืชืืืืืช ืืื, ืืชืื ืชืื ืืืขืืื ืืืขืฉื ืืืืฅ ืืืฆืขืืช ืืืืจื ืืื.
ื ืฆืืื ืืชืขืฉืืื ืืืืคืชืืื ืืืืืื ืจืง ืืงืืืช ืฉืืืืืืื ืื ืฆื ืืื, ืืื
ืืงืืจ: www.habr.com