Protokol Transfer Berkas: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Sumbodoadhi (bicara | kontrib)
cara kerja FTP
Wagino Bot (bicara | kontrib)
k Bot: Merapikan artikel
 
(42 revisi perantara oleh 18 pengguna tidak ditampilkan)
Baris 1:
{{tanpa referensi}}
'''Protokol pengiriman berkas''' ({{lang-en|File Transfer Protocol}}) adalah sebuah [[protokol Internet]] yang berjalan di dalam [[lapisan aplikasi]] yang merupakan standar untuk pengiriman [[berkas komputer|berkas]] (''file'') [[komputer]] antar mesin-mesin dalam sebuah [[Antarjaringan]].
{{wikifikasi}}
{{rapikan}}
 
'''Protokol Transfer Berkas''' ({{lang-en|File Transfer Protocol}}) adalah [[Protokol (komputer)|protokol komunikasi]] standar yang digunakan untuk mentransfer [[berkas komputer]] dari sebuah peladen ke sebuah klien pada jaringan komputer. FTP dibangun pada arsitektur [[Klien-server|model klien-server]] menggunakan kontrol terpisah dan koneksi data antara klien dan peladen.<ref name="for">{{cite book|last=Forouzan|first=B.A.|year=2000|title=TCP/IP: Protocol Suite|location=New Delhi, India|publisher=Tata McGraw-Hill Publishing Company Limited|edition=1st}}</ref> FTP pengguna dapat mengotentikasi diri mereka sendiri dengan protokol masuk [[Teks terang|teks yang jelas]], normalnya dalam sebuah bentuk nama panggilan dan kata sandi, tetapi dapat terhubung secara anonim jika peladen dikonfigurasi untuk mengizinkannya. Untuk transmisi aman yang melindungi nama panggilan dan kata sandi, dan mengenkripsi konten, FTP sering kali [[Protokol transfer berkas#Keamanan|diamankan]] dengan [[Transport Layer Security|SSL/TLS]] ([[FTPS]]) atau diganti dengan [[SSH File Transfer Protocol]] (SFTP).
'''SEJARAH FTP'''
 
Aplikasi klien FTP pertama adalah [[Antarmuka baris perintah|program baris perintah]] yang dikembangkan sebelum [[sistem operasi]] memiliki [[antarmuka pengguna grafis]], dan masih dikirim dengan sebagian besar sistem operasi [[Microsoft Windows|Windows]], [[Unix]], dan [[Linux]].<ref name="tcpip4">{{cite web|last=Kozierok|first=Charles M.|year=2005|title=The TCP/IP Guide v3.0|url=http://www.tcpipguide.com/free/t_FTPOverviewHistoryandStandards.htm|publisher=Tcpipguide.com}}</ref><ref name="net+3" /> Banyak [[Klien (komputer)|klien]] FTP khusus dan utilitas otomasi telah dikembangkan untuk desktop, peladen, perangkat seluler, dan perangkat keras, dan FTP telah dimasukkan ke dalam aplikasi produktivitas seperti [[editor HTML]] dan [[Manajer berkas|pengelola berkas]].
FTP (File Transfer Protocol) adalah salah satu protokol tertua yang pernah ada di Internet. Protokol FTP dikembangkan oleh Abhay Bhushan (alumni IIT dan  MIT) pada tahun 1970-an, ketika bekerja pada proyek ARPAnet. Namun demikian, FTP tetap menjadi jenis layanan yang kerap kali dimanfaatkan oleh pengguna Internet, terutama untuk mendownload software atau hal-hal lain. File Transfer Protocol [FTP] telah ada semenjak dua puluh tahun di sejarah internet, sehingga protokol ini sudah memiliki standard yang baik. Banyak cara lain yang datang dan pergi, tetapi FTP merupakan cara yang paling sering digunakan untuk mengirimkan file melalui internet, dan ini menjadikannya perangkat yang kami sarankan untuk memamanage situs Anda di MediaHostNet – FTP client sudah tersedia dalam setiap sistem operasi yang mendukung jaringan, dan ada beberapa unsur dalam managemen situs yang hanya dapat dilakukan dengan menggunakan FTP client. FTP menjadi sebuah elemen penting dalam internet sehingga akan sangat merugikan jika tidak menyediakan fasilitas yang mendukung FTP sebagai bagian dalam situs Anda.
 
Sebuah klien FTP biasanya terintegrasi di [[peramban web]], di mana berkas peladen dijelajahi dengan prefix [[Uniform Resource Identifier|URI]] "<code>ftp://</code>". Sepanjang tahun 2021, dua vendor browser web utama menghapus kemampuan ini. Dukungan untuk protokol FTP pertama kali dinonaktifkan di Google Chrome 88 pada Januari 2021,<ref>{{Cite web|title=Deprecations and removals in Chrome 87|url=https://developer.chrome.com/blog/chrome-87-deps-rems/|access-date=November 18, 2020}}</ref> diikuti oleh Firefox 88.0 pada April 2021.<ref>{{Cite web|title=Firefox 88.0, See All New Features, Updates and Fixes|url=https://www.mozilla.org/en-US/firefox/88.0/releasenotes/|access-date=April 23, 2021}}</ref> Pada Juli 2021, Firefox 90 menonaktifkan FTP sepenuhnya,<ref name=":0">{{Cite web|last=Vonau|first=Manuel|date=2021-07-07|title=Firefox follows in Chrome's footsteps and drops FTP support (APK Download)|url=https://www.androidpolice.com/2021/07/14/firefox-90-fully-removes-ftp-support-and-reorganizes-some-settings-apk-download/|website=Android Police|language=en-US|access-date=2021-07-12|url-status=live}}</ref> dan Google mengikutinya di bulan Oktober 2021, menghapus FTP sepenuhnya di Google Chrome 95.<ref name="chromestatus">{{Cite web|title=Remove FTP support - Chrome Platform Status|url=https://chromestatus.com/feature/6246151319715840|website=www.chromestatus.com|access-date=2021-09-02}}</ref>
 
== Sejarah ==
 
Spesifikasi asli dari '''Protokol Transfer Berkas''' ditulis oleh [[Abhay Bhushan]] di publikasikan sebagai {{IETF RFC|114}} pada 16 April 1971. Sampai 1980, FTP berjalan pada [[Network Control Protocol (ARPANET)|NCP]], pendahulu dari [[Internet protocol suite|TCP/IP]].<ref name="tcpip" /> Protokolnya digantikan oleh sebuah versi TCP/IP, {{IETF RFC|765}} (Juni1980) dan {{IETF RFC|959}} (Oktober 1985), spesifikasi saat ini. Beberapa standar yang diusulkan diubah {{IETF RFC|959}}, sebagai contoh {{IETF RFC|1579}} (Februari 1994) mengaktifkan FTP Ramah-Dinding api (mode pasif), {{IETF RFC|2228}} (Juni 1997) mengusulkan ekstensi keamanan, {{IETF RFC|2428}} (September 1998) menambahkan dukungan untuk [[Alamat IP versi 6|IPv6]] dan mendefinisikan jenis mode pasif baru.<ref name="clark">{{cite book|last=Clark|first=M.P.|year=2003|title=Data Networks IP and the Internet|location=West Sussex, England|publisher=John Wiley & Sons Ltd.|edition=1st}}</ref>
 
== Ikhtisar protokol ==
[[File:Passive FTP Verbindung.svg|thumb|Ilustrasi memulai koneksi pasif menggunakan port 21.]]
FTP merupakan salah satu protokol Internet yang paling awal dikembangkan, dan masih digunakan hingga saat ini untuk melakukan [[download|pengunduhan (''download'')]] dan [[upload|penggugahan (upload)]] berkas-berkas komputer antara '''klien FTP''' dan '''server FTP'''. Sebuah Klien FTP merupakan aplikasi yang dapat mengeluarkan perintah-perintah FTP ke sebuah server FTP, sementara server FTP adalah sebuah Windows Service atau daemon yang berjalan di atas sebuah komputer yang merespons perintah-perintah dari sebuah klien FTP. Perintah-perintah FTP dapat digunakan untuk mengubah direktori, mengubah modus pengiriman antara [[biner]] dan [[ASCII]], menggugah berkas komputer ke server FTP, serta mengunduh berkas dari server FTP.
 
Sebuah server FTP diakses dengan menggunakan ''[[Universal Resource Identifier]]'' (URI) dengan menggunakan format <code><nowiki>ftp://namaserver</nowiki></code>. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut.
[[Berkas:CaraKerjaFTP.png|thumbs|200px|ka|Cara kerja protokol FTP]]
FTP menggunakan [[protokol jaringan|protokol]] ''[[Transmission Control Protocol]]'' (TCP) untuk [[komunikasi data]] antara klien dan server, sehingga di antara kedua komponen tersebut akan dibuatlah sebuah sesi komunikasi sebelum pengiriman data dimulai. Sebelum membuat koneksi, [[port TCP]] nomor 21 di sisi server akan "mendengarkan" percobaan koneksi dari sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur (''control port'') untuk (1) membuat sebuah koneksi antara klien dan server, (2) untuk mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server dan juga (3) mengembalikan respons ''server'' ke perintah tersebut. Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka [[port TCP]] nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk mengirim data aktual yang sedang dipertukarkan saat melakukan pengunduhan dan penggugahan.
Baris 13 ⟶ 23:
FTP hanya menggunakan metode autentikasi standar, yakni menggunakan ''username'' dan ''[[password]]'' yang dikirim dalam bentuk tidak ter[[enkripsi]]. Pengguna terdaftar dapat menggunakan ''username'' dan ''password''-nya untuk mengakses, men-''download'', dan meng-''upload'' berkas-berkas yang ia kehendaki. Umumnya, para pengguna terdaftar memiliki akses penuh terhadap beberapa direktori, sehingga mereka dapat membuat [[berkas komputer|berkas]], membuat [[direktori]], dan bahkan menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metode ''[[anonymous login]]'', yakni dengan menggunakan nama pengguna <code>[[anonymous]]</code> dan ''password'' yang diisi dengan menggunakan alamat ''[[e-mail]]''.
 
=== Mode transfer data ===
'''CARA KERJA FTP'''
Transfer data dapat dilakukan dalam salah satu dari tiga mode:<ref name="for2" /><ref name="tcpip5" />
 
* Mode Stream (MODE S): Data dikirim sebagai aliran berkelanjutan, membebaskan FTP dari melakukan pemrosesan apa pun. Sebaliknya, semua pemrosesan diserahkan kepada [[TCP]]. Tidak diperlukan indikator End-of-file, kecuali data dibagi menjadi [[rekord]].
1. Port standard FTP adalah 21 (pada server).
* Mode Block (MODE B): Dirancang terutama untuk mentransfer berkas berorientasi rekaman (STRU R), meskipun juga dapat digunakan untuk mentransfer file teks berorientasi aliran (STRU F). FTP menempatkan setiap catatan (atau baris) data ke dalam beberapa blok (header blok, jumlah bita, dan bidang data) dan kemudian meneruskannya ke TCP.<ref name="clark2" />
* Mode terkompresi (MODE C): Memperluas MODE B dengan kompresi data menggunakan ''[[run-length encoding]]''.
 
Sebagian besar klien dan peladen FTP kontemporer tidak mengimplementasikan MODE B atau MODE C; Klien dan peladen FTP untuk sistem operasi mainframe dan komputer mini adalah pengecualian untuk itu.
2. Pada sisi server, ftp server menunggu incoming connection di port 21 (default).
 
== Kelebihan dan kekurangan FTP ==
3. FTP client mencoba connect ke ftp server (daemon) dengan memasukan user  password nya (biasanya FTP memang memiliki suatu autentikasi tersendiri.)
 
=== Kelebihan dari FTP ===
4. FTP server men-check apakah si user dan password nya valid, Jika valid maka akan  berlanjut ke step berikutnya, jika tidak valid maka akan diminta memasukan user/password yang lain beberapa kali, jika tetap invalid maka koneksi akan diputuskan.
1. FTP dapat Mempermudah dalam mengunggah data.
 
2. FTP dapat mentransfer data.
5. Setelah user tervalidasi maka ftp client dapat men-download/men-upload atau pun mendelete file yang terdapat di server, tergantung dari hak akses yang dimiliki.
 
3. Pada FTP online terdapat fasilitas untuk mengupload data ke server dalam jumlah banyak sekaligus jadi tidak satu persatu.
'''PROSES PADA FTP'''
 
4. Pada FTP dapat melayani tukar-menukar file.
'''1. Upload'''
 
5. FTP merupakan versi paling gres juga dilengkapi dengan seperangkat program audit dan penanganan account.
Proses transfer data dari komputer local ke komputer server yang menyediakan akses FTP.
 
=== Kekurangan dari FTP ===
'''2. Download'''
1. FTP merupakan cara yang tidak aman dalam mentransfer suatu file karena file dikirimkan tanpa di enskripsi terlebih dahulu tetapi melalui clear teks. Mode text yang dipakai untuk transfer data adalah format ASCII atau format binary.
 
2. Keamanan dan kemudahan penggunaan sering kali berbentrokan dan menjadi dilema para administrator sistem.
Proses transfer data dari komputer server ke komputer local.
 
3. Desain FTP masih lemah sehingga mengakibatkan tidak terinformasinya para administrator sistem mengenai risiko yang mereka hadapi.
'''JENIS – JENIS FTP'''
 
== Dukungan perangkat lunak ==
'''Berdasarkan Hak Akses :'''
# '''FTP User'''FTP user artinya FTP yang dapat di akses dan memiliki permisi hanya di batasi hanya untuk user tertentu. Karena FTP user disertakan suatu autentifikasi bila kita akan mengakses ke dalam nya. Format dari FTP user : [[Ftp://[email protected]/|ftp://[email protected]]]
 
=== Peramban web ===
# '''FTP Anonymous'''FTP anonymous artinya FTP yang disediakan secara anonymous/ tanpa nama, dengan kata lain FTP tersebut dapat di akses oleh siapapun dan biasanya tanpa password ataupun bila di minta password. Biasanya server meminta alamat email kita sebagai password nya untuk ferivikasi. Format dari FTP anonymous : <nowiki>ftp://ftp5.freebsd.org</nowiki>
[[Peramban web]] paling umum dapat mengambil berkas yang dihosting di server FTP, walaupun mereka tidak dapat mendukung ekstensi protokol seperti [[FTPS]].<ref name="net+" /><ref name="matthews">{{cite book|last=Matthews|first=J.|year=2005|title=Computer Networking: Internet Protocols in Action|url=https://archive.org/details/computernetworki0000matt|location=Danvers, MA|publisher=John Wiley & Sons Inc.|edition=1st}}</ref> Saat FTP—bukan HTTP—[[URL]] disediakan, konten yang dapat diakses di peladen jarak jauh disajikan dengan cara yang mirip dengan yang digunakan untuk konten web lainnya. [[FireFTP]] adalah sebuah ekstensi peramban yang dirancang sebagai klien FTP berfitur lengkap, itu dapat dijalankan dengan [[Firefox]] pada masa lalu, tapi sekarang direkomendasikan bekerja dengan [[Waterfox]].
'''Secara Global :'''
 
Google Chrome menghapus dukungan FTP seluruhnya di Chrome 88.<ref>{{cite web|last1=Sneddon|first1=Joey|date=2021-01-26|title=Linux Release Roundup: GParted, Lightworks, Google Chrome + More|url=https://www.omgubuntu.co.uk/2021/01/linux-release-roundup-chrome-lightworks-more|website=omgubuntu.co.uk|access-date=2021-01-30}}</ref> Pada 2019, Mozilla sedang mendiskusikan proposal, termasuk hanya menghapus dukungan untuk implementasi FTP lama yang tidak lagi digunakan untuk menyederhanakan kodenya.<ref>{{Cite web|title=1574475 - Remove FTP support|url=https://bugzilla.mozilla.org/show_bug.cgi?id=1574475}}</ref><ref name="chromestatus2" /> Pada April 2021, Mozilla merilis Firefox 88.0 yang menonaktifkan dukungan FTP secara default.<ref>{{cite web|date=2021-04-19|title=See what's new in Firefox: 88.0 Firefox Release|url=https://www.mozilla.org/en-US/firefox/88.0/releasenotes/|website=mozilla.org|access-date=2021-04-20}}</ref> Pada Juli 2021, Firefox 90 menghentikan dukungan FTP sepenuhnya.<ref name=":02" />
 
==== Sintaks ====
Sintaks URL FTP dijelaskan di {{IETF RFC|1738}}, mengambil formulir: <code>ftp://[user[:password]@]host[:port]/[url-path]</code> (bagian yang diberi tanda kurung adalah opsional).
 
Sebagai contoh, URL <nowiki>ftp://public.ftp-servers.example.com/mydirectory/myfile.txt</nowiki> mewakili berkas ''myfile.txt'' dari direktori ''mydirectory'' pada peladen ''public.ftp-servers.example.com'' sebagai sumber daya FTP. URL <nowiki>ftp://user001:[email protected]/mydirectory/myfile.txt</nowiki> menambahkan spesifikasi nama pengguna dan kata sandi yang harus digunakan untuk mengakses sumber daya ini.
 
Rincian lebih lanjut tentang menentukan nama pengguna dan kata sandi dapat ditemukan di dokumentasi peramban (mis., [[Firefox]]<ref>{{cite web|date=2012-09-05|title=Accessing FTP servers &#124; How to &#124; Firefox Help|url=https://support.mozilla.org/en-US/kb/Accessing%20FTP%20servers#w_ftp-servers-that-require-a-username-and-password|publisher=Support.mozilla.com|access-date=2013-01-16}}</ref> dan [[Internet Explorer]]<ref>{{Cite web|title=How to Enter FTP Site Password in Internet Explorer|url=https://support.microsoft.com/en-us/kb/135975|archive-url=https://web.archive.org/web/20150702005840/https://support.microsoft.com/en-us/kb/135975|archive-date=2 July 2015|access-date=13 February 2020|url-status=bot: unknown}} Written for IE versions 6 and earlier. Might work with newer versions.</ref>). Secara default, sebagian besar browser web menggunakan mode pasif (PASV), yang lebih mudah melintasi tembok api pengguna akhir.
 
Beberapa variasi telah ada dalam cara peramban yang berbeda menangani resolusi jalur jika terdapat direktori home non-root untuk pengguna.<ref>{{cite web|author=Jukka “Yucca” Korpela|date=1997-09-18|title=FTP URLs|url=https://jkorpela.fi/ftpurl.html|publisher="IT and communication" (jkorpela.fi)|access-date=2020-01-26}}</ref>
 
=== Pengelola unduhan ===
Pengelola unduhan yang paling umum dapat menerima berkas yang dihosting di peladen FTP, sementara beberapa dari mereka juga memberikan antarmuka untuk mengambil berkas yang dihosting di peladen FTP. [[DownloadStudio]] memungkinkan tidak hanya mengunduh berkas dari peladen FTP tetapi juga melihat daftar berkas di peladen FTP.<ref>{{cite web|author=|date=|title=DownloadStudio - Internet Download Manager And Download Accelerator - Features|url=http://www.conceiva.com/products/downloadstudio/features.asp|publisher=Conceiva|access-date=2021-10-19}}</ref>
 
=== Lainnya ===
[[LibreOffice]] mendukung pembukaan file dari server FTP, tapi dari perilisan 7.4, fitur ini dilabeli usang, dan pengembang bermaksud untuk menghapusnya di versi mendatang.<ref>{{Cite web|title=LibreOffice 7.4: Release Notes|url=https://wiki.documentfoundation.org/ReleaseNotes/7.4|publisher=The Document Foundation's Wiki|accessdate=2022-09-10}}</ref>
 
== Mengakses ==
Mengakses FTP menggunakan skema nama pengguna dan kata sandi normal untuk memberikan akses.<ref name="tcpip2" /> Nama pengguna dikirim ke peladen menggunakan perintah USER, dan kata sandi dikirim menggunakan perintah PASS.<ref name="tcpip2" /> Urutan ini tidak terenkripsi "''on the wire''", jadi mungkin rentan terhadap [[serangan Sniffing]] jaringan.<ref>{{cite web|last1=Prince|first1=Brian|title=Should Organizations Retire FTP for Security?|url=https://www.securityweek.com/should-organizations-retire-ftp-security|website=Security Week|publisher=Security Week|access-date=14 September 2017}}</ref> Jika informasi yang diberikan oleh klien diterima oleh peladen, peladen akan mengirim sambutan ke klien dan sesi akan dimulai.<ref name="tcpip2" /> Jika peladen mendukungnya, pengguna dapat masuk tanpa memberikan kredensial masuk, tetapi peladen yang sama hanya dapat mengotorisasi akses terbatas untuk sesi tersebut.<ref name="tcpip2" />
 
=== FTP anonim ===
Hos yang menyediakan layanan FTP dapat menyediakan akses FTP [[Anonimitas|anonim]].<ref name="tcpip3" /> Pengguna biasanya masuk ke layanan dengan akun 'anonim' (huruf kecil dan huruf besar-kecil sensitif di beberapa peladen FTP) saat diminta nama pengguna. Meskipun pengguna umumnya diminta untuk mengirimkan alamat [[EMAIL|email]] mereka alih-alih kata sandi,<ref name="net+2">{{cite book|last=Dean|first=Tamara|year=2010|title=Network+ Guide to Networks|publisher=Delmar|pages=168–171}}</ref> tidak ada verifikasi yang benar-benar dilakukan pada data yang diberikan.<ref name="rfc16">{{IETF RFC|1635}} (Informational) How to Use Anonymous FTP. P. & Emtage, A. & Marine, A. (May 1994).</ref> Banyak hos FTP yang tujuannya menyediakan pembaruan perangkat lunak akan mengizinkan akses anonim.<ref name="net+2" />
 
== Derivatif ==
 
=== FTPS ===
{{Main article|FTPS}}
FTPS eksplisit adalah sebuah ekstensi untuk standar FTP yang memungkinkan klien untuk meminta sesi FTP dienkripsi. Ini dilakukan dengan mengirimkan perintah "AUTH TLS". Peladen mempunyai pilihan membolehkan atau menolak koneksi yang tidak meminta TLS. Ekstensi protokol ini didefinisikan dalam {{IETF RFC|4217}}. FTPS implisit adalah standar usang untuk FTP yang memerlukan penggunaan koneksi SSL atau TLS. Itu ditentukan untuk menggunakan port yang berbeda dari FTP biasa.
 
=== Protokol transfer berkas SSH ===
{{Main article|SSH File Transfer Protocol}}
Protokol transfer berkas SSH (secara kronologis yang kedua dari dua protokol disingkat SFTP) mentransfer berkas dan mempunyai set perintah serupa untuk pengguna, tetapi menggunakan protokol [[Secure Shell]] (SSH) untuk mentransfer berkas. Tidak seperti FTP, ini mengenkripsi perintah dan data, mencegah kata sandi dan informasi sensitif dikirimkan secara terbuka melalui jaringan. Itu tidak dapat beroperasi dengan perangkat lunak FTP, walaupun beberapa perangkat lunak klien FTP menawarkan dukungan untuk protokol transfer berkas SSH juga.
 
=== Protokol transfer berkas Trivial ===
{{Main article|Trivial File Transfer Protocol}}
Protokol transfer berkas Trivial (TFTP) adalah FTP langkah kunci sederhana yang memungkinkan klien untuk mendapatkan berkas dari atau menempatkan berkas ke hos jarak jauh. Satu dari kegunaan utamanya adalah adalah pada tahap awal booting dari jaringan area lokal, karena TFTP sangat mudah untuk diimplementasikan. TFTP tidak memiliki keamanan dan sebagian besar fitur lanjutan ditawarkan oleh protokol transfer berkas yang lebih kuat seperti Protokol Transfer Berkas. TFTP pertama kali distandarisasi pada tahun 1981 dan spesifikasi protokol saat ini dapat ditemukan di {{IETF RFC|1350}}.
 
=== Protokol transfer berkas Simple ===<!--Simple File Transfer Protocol redirects here-->
Protokol transfer berkas Simple (protokol pertama disingkat SFTP), seperti yang didefinisikan oleh {{IETF RFC|913}}, diusulkan sebagai protokol transfer berkas (tidak aman) dengan tingkat kerumitan menengah antara TFTP dan FTP. Ini tidak pernah diterima dengan luas di [[Internet]], dan sekarang diberi status Bersejarah oleh [[Internet Engineering Task Force|IETF]]. Ini berjalan melalui port 115, dan sering menerima inisialisasi dari ''SFTP''. Ini mempunyai set perintah dari 11 perintah dan mendukung tiga jenis transmisi data: [[ASCII]], [[Berkas biner|binari]] dan kontinu. Untuk sistem dengan [[Kata (arsitektur komputer)|ukuran kata]] yang merupakan kelipatan 8 bit, implementasi dari binari dan berkelanjutan dan kontinu adalah sama. Protokol ini juga mendukung masuk dengan ID pengguna dan kata sandi, folder hierarkis dan manajemen berkas (termasuk ''rename'', ''delete'', ''upload'', ''download'', ''download with overwrite'', dan ''download with append'').
 
== Jenis FTP ==
'''Berdasarkan Hak Akses:'''
# '''FTP User''' FTP user artinya FTP yang dapat di akses dan memiliki permisi hanya di batasi hanya untuk user tertentu. Karena FTP user disertakan suatu autentifikasi bila kita akan mengakses ke dalam nya. Format dari FTP user: <code><nowiki>ftp://[email protected]</nowiki></code>
 
# '''FTP Anonymous''' FTP anonymous artinya FTP yang disediakan secara anonymous/ tanpa nama, dengan kata lain FTP tersebut dapat di akses oleh siapapun dan biasanya tanpa password ataupun bila diminta password. Biasanya server meminta alamat email kita sebagai password nya untuk verifikasi. Format dari FTP anonymous: <code><nowiki>ftp://ftp5.freebsd.org</nowiki></code>
'''Secara Global:'''
 
'''1. FTP Server'''
Baris 49 ⟶ 110:
'''2. FTP Client'''
 
FTP client adalah komputer yang meminta koneksi ke FTP server untuk tujuan tukar menukar file. Ada beberapa macam jenis FTP client,{{network-stub}}
 
== Perbedaan dari HTTP ==
[[Hypertext Transfer Protocol|HTTP]] pada dasarnya memperbaiki bug di FTP yang membuatnya tidak nyaman digunakan untuk banyak transfer singkat seperti biasanya di halaman peramban.
 
FTP memiliki koneksi kontrol tetap yang memelihara direktori kerja saat ini dan flag lainnya, dan setiap transfer membutuhkan koneksi sekunder melalui data yang ditransfer. Dalam mode "pasif", koneksi sekunder ini dari klien ke server, dimana mode sedangkan pada mode "aktif" default koneksi ini adalah dari peladen ke klien. Pembalikan peran yang nyata ini saat dalam mode aktif, dan nomor port acak untuk semua transfer, itulah mengapa tembok api dan ''gateway'' NAT mengalami kesulitan dengan FTP. HTTP adalah kontrol tidak tetap dan multipleks data melalui koneksi tunggal dari klien ke peladen pada nomor port yang dikenal, yang dengan mudah melewati gateway NAT dan mudah dikelola oleh tembok api.
 
Mengatur sebuah koneksi kontrol FTP cukup lambat karena keterlambatan bolak-balik pengiriman semua perintah yang diperlukan dan menunggu tanggapan, jadi sudah biasa untuk memunculkan koneksi kontrol dan menahannya terbuka untuk beberapa transfer berkas daripada mematikan dan membuat kembali sesi lagi setiap kali. Sebaliknya, HTTP awalnya memutuskan sambungan setelah setiap transfer karena melakukan hal itu sangat murah. Sementara HTTP kemudian memperoleh kemampuan untuk menggunakan kembali koneksi TCP untuk banyak transfer, model konseptual masih permintaan independen daripada sebuah sesi.
 
Saat FTP mentransfer melalui koneksi data, koneksi kontrol diam. Jika transfer terlalu lama, tembok api atau NAT dapat memutuskan bahwa koneksi kontrol mati dan berhenti melacaknya, memutuskan koneksi secara efektif dan membingungkan unduhan. Koneksi HTTP tunggal hanya diam di antara permintaan dan merupakan hal yang normal dan koneksi semacam itu diperkirakan akan terputus setelah waktu habis.
 
== Keamanan ==
FTP tidak dirancang untuk menjadi protokol yang aman, dan memiliki banyak kelemahan keamanan.<ref name="nurdle">{{cite web|title=Securing FTP using SSH|url=https://nurdletech.com/linux-notes/ftp/ssh.html|publisher=Nurdletech.com}}</ref> Pada Mei 1999, penulis dari {{IETF RFC|2577}} menjabarkan kerentanan terhadap masalah berikut:
 
* [[Brute-force attack|Serangan brutal]]
* [[FTP bounce attack|Serangan memantul FTP]]
* [[Penganalisa paket]]
* Pencurian port (menebak port terbuka berikutnya dan merebut koneksi yang sah)
* [[Penyaruan]]
* Pencacahan nama pengguna
* [[Denial-of-service attack|DoS atau DDoS]]
 
== Kode balasan FTP ==
Di bawah ini adalah ringkasan dari balasan kode FTP yang dapat dikembalikan oleh [[peladen]] FTP. Kode-kode ini telah di standarisasi dalam {{IETF RFC|959}} oleh IETF. Kode balasannya berupa nilai tiga -digit. Digit pertama digunakan untuk menunjukkan salah satu dari tiga hasil yang mungkin&nbsp;— berhasil, kesalahan, atau untuk menunjukkan kesalahan atau balasan yang tidak lengkap:
 
* 2yz&nbsp;&#x2013; Balasan berhasil
* 4yz atau 5yz &#x2013; Balasan kesalahan
* 1yz atau 3yz &#x2013; Kesalahan atau Balasan tidak lengkap
 
Digit kedua menentukan jenis kesalahan:
 
* x0z &#x2013; Sintaks. Balasan ini mengacu pada kesalahan sintaksis.
* x1z &#x2013; Informasi. Balasan untuk permintaan informasi.
* x2z &#x2013; Koneksi. Balasan mengacu pada kontrol dan koneksi data.
* x3z &#x2013; Autentikasi dan akutansi. Balasan untuk proses masuk dan prosedur akuntansi.
* x4z &#x2013; Tidak terdefinisikan.
* x5z &#x2013; Berkas sistem. Balasan ini menyampaikan kode status dari berkas sistem peladen.
 
Digit ketiga dari kode balasan digunakan untuk menyediakan detail tambahan untuk setiap dari katerogi ditentukan oleh digit kedua.
 
== Referensi ==
{{Reflist}}
== Bacaan lanjutan ==
* {{IETF RFC|697}} – Perintah CWD FTP Juli 1975.
* {{IETF RFC|959}} – (Standar) File Transfer Protocol (FTP). J. Postel, J. Reynolds. Oktober 1985.
* {{IETF RFC|1579}} – (informasional) FTP Ramah-Tembok api. Februari 1994.
* {{IETF RFC|1635}} – (informasional) Cara Menggunakan FTP Anonim. Mei 1994.
* {{IETF RFC|1639}} – FTP Operation Over Big Address Records (FOOBAR). Juni 1994.
* {{IETF RFC|1738}} – Uniform Resource Locators (URL). Desember 1994.
* {{IETF RFC|2228}} – (Standar yang Diusulkan) Ekstensi Keamanan FTP. Oktober 1997.
* {{IETF RFC|2389}} – (Standar yang Diusulkan) Mekanisme negosiasi fitur untuk Protokol Transfer Berkas. Agustus 1998.
* {{IETF RFC|2428}} – (Standar yang Diusulkan) Ekstensi untuk mode pasif IPv6, NAT, dan Extended. September 1998.
* {{IETF RFC|2577}} – (informasional) Pertimbangan Keamanan FTP. Mei 1999.
* {{IETF RFC|2640}} – (Standar yang Diusulkan) Internasionalisasi Protokol Transfer Berkas. Juli 1999.
* {{IETF RFC|3659}} – (Standar yang Diusulkan) Ekstensi ke FTP. P. Hetmon. Maret 2007.
* {{IETF RFC|5797}} – (Standar yang Diusulkan) Perintah FTP dan Registri Ekstensi. Maret 2010.
* {{IETF RFC|7151}} – (Standar yang Diusulkan) Perintah HOST Protokol Transfer Berkas untuk Host Virtual. Maret 2014.
* [http://www.iana.org/assignments/ftp-commands-extensions/ftp-commands-extensions.xhtml Registri Perintah dan Ekstensi FTP IANA] – Registri resmi Perintah dan Ekstensi FTP
== Pranala luar ==
* {{Wikibooks-inline|Jaringan komunikasi/Protokol Transfer Berkas}}
* [//servertest.online/ftp FTP Server Online Tester] Otentikasi, enkripsi, mode, dan konektivitas.
* Peladen FTP Anonim berdasarkan Kode Negara [[Top-level domain|TLD]] (2012): {{Cite web|date=2012|title=Offbeat Internet - Public Access - FTP|url=https://www.jumpjet.info/Offbeat-Internet/Public/FTP/url.htm|website=www.jumpjet.info|access-date=2020-01-16}}
{{Authority control}}
 
[[Kategori:FTP| ]]
Baris 58 ⟶ 181:
[[Kategori:Standar internet]]
[[Kategori:Perangkat lunak Unix]]
[[Kategori:Sejarah internet]]
[[Kategori:Perintah OS/2]]
 
 
{{network-stub}}