KodeGym/Blog Jawa/Acak/Ringkesan REST. Part 1: Apa REST?
John Squirrels
tingkat
San Francisco

Ringkesan REST. Part 1: Apa REST?

Diterbitake ing grup
Hi! Dina iki kita bakal sinau babagan topik sing menarik banget lan, sing paling penting, dikarepake ing pasar tenaga kerja: REST. Ringkesan REST.  Part 1: Apa REST?  - 1 Kita bakal mbagi ringkesan REST dadi telung bagean:
  1. Ing bagean pisanan, kita bakal nutupi sejarah REST lan njlèntrèhaké prinsip sing adhedhasar REST.

  2. Ing kaloro, kita bakal nimbang carane komunikasi antarane klien lan server dumadi liwat protokol HTTP.

  3. Ing katelu, kita bakal nulis aplikasi RESTful cilik sing bakal diuji nggunakake program sing diarani "Postman".

Artikel kasebut ditujokake kanggo para pamaca sing ngerti istilah-istilah ing ngisor iki:
  • HTTP
  • URL lan URI
  • JSON lan (sing luwih cilik) XML
  • Injeksi ketergantungan

Part 1. Apa iku REST?

REST, kaya ing jagad IT, minangka akronim. Iki asale saka "Transfer Negara Perwakilan" . Iki minangka gaya arsitektur kanggo interaksi antarane komponen sistem sing disebarake ing jaringan komputer. Cukup, REST nemtokake gaya interaksi (ijol-ijolan data) ing antarane komponen sistem sing beda-beda, sing saben-saben bisa dumunung ing papan sing beda-beda. Gaya arsitektur iki minangka kendala sing konsisten nalika ngrancang sistem sing disebarake. Watesan kasebut kadhangkala disebut prinsip panuntun REST. Ora akeh, mung 6. Kita bakal ngomong babagan dheweke mengko.
Aplikasi sing dibangun nganggo prinsip REST, yaiku sing ora nglanggar watesan REST, diarani "RESTful".

Sejarah saka REST

Istilah REST dipuntepangaken dening Roy Fielding, salah satunggaling pangripta protokol HTTP, ing Ph.D. skripsi kanthi irah-irahan "Gaya Arsitektur lan Desain Arsitektur Perangkat Lunak Berbasis Jaringan" ing taun 2000. Sanajan istilah REST isih bisa diarani enom, konsep sing diwakili dumunung ing inti saka World Wide Web. Kita ora bakal nyilem jero sejarah istilah kasebut. Yen sampeyan pengin nyilem menyang sumber utama, deleng disertasi Fielding .

watesan lan prinsip REST

Kaya sing kasebut ing ndhuwur, REST nemtokake cara komponen sistem sing disebarake kudu sesambungan karo siji liyane. Umumé, iki kedadeyan liwat proses panjalukan-respon. Komponen sing ngirim panjalukan diarani klien , lan komponen sing ngolah panyuwunan lan ngirim respon marang klien diarani server .. Panjaluk lan tanggapan paling kerep dikirim liwat protokol HTTP. HTTP singkatan saka HyperText Transfer Protocol. Biasane, server minangka sawetara aplikasi web. Klien bisa meh kabeh. Contone, aplikasi seluler sing njaluk data saka server. Utawa browser sing ngirim panjalukan saka kaca web menyang server supaya bisa ngundhuh data. Aplikasi A bisa njaluk data saka Aplikasi B. Ing kasus iki, A minangka klien babagan B, lan B minangka server babagan A. Ing wektu sing padha, A bisa ngolah panjalukan saka B, C, D, lsp. Ing kasus iki, aplikasi A minangka server lan klien. Kabeh gumantung ing konteks. Siji bab tartamtu: komponen sing ngirim panjalukan iku klien. Komponen sing nampa, ngolah lan nanggapi panjalukan yaiku server. Nanging, ora saben sistem sing komponen komunikasi liwat proses request-respon minangka sistem RESTful. Kanggo sistem sing dianggep RESTful, sistem kasebut kudu tundhuk karo enem watesan REST:

1. arsitektur klien-server

Watesan iki babagan pamisahan keprihatinan. Sampeyan perlu kanggo misahake syarat antarmuka klien saka syarat server sing nyimpen data. Watesan iki ndadekake kode klien luwih portabel menyang platform liyane, lan nyederhanakake sisih server nambah skalabilitas sistem. Mbedakake antarane "klien" lan "server" ngidini supaya bisa dikembangake kanthi bebas saka siji liyane.

2. Stateless

Arsitektur RESTful mbutuhake syarat ing ngisor iki. Ing wektu antarane panjalukan, server kudu ora nyimpen informasi bab negara klien lan kosok balene. Kabeh panjalukan saka klien kudu disusun kanthi cara sing menehi server kabeh informasi sing dibutuhake kanggo ngrampungake panjaluk kasebut. Mangkono, loro server lan klien bisa "ngerti" pesen sing ditampa, tanpa gumantung ing pesen sadurunge.

3. Cacheable

Klien bisa cache respon server. Iki, ing siji, kudu tegas utawa implisit ditetepake minangka cached utawa non-cache, supaya klien ora nampa data outdated utawa salah kanggo nanggepi panjalukan sakteruse. Caching sing bener mbantu ngilangi sawetara interaksi klien-server kanthi lengkap utawa sebagian, nambah kinerja sistem lan skalabilitas.

4. antarmuka seragam

Keperluan dhasar arsitektur RESTful kalebu antarmuka sing seragam lan seragam. Klien kudu tansah ngerti format lan alamat sing kudu digunakake nalika ngirim panjalukan, lan server, uga kudu ngerti format sing kudu digunakake nalika nanggapi panjaluk klien. Interaksi klien-server sing konsisten iki sing njlèntrèhaké apa, ing ngendi, ing wangun apa, lan cara ngirim data minangka antarmuka sing manunggal.

5. Lapisan

Miturut lapisan, kita tegese struktur hierarki jaringan. Kadhangkala klien bisa komunikasi langsung karo server, lan kadhangkala mung komunikasi karo simpul penengah. Panggunaan server penengah bisa nambah skalabilitas thanks kanggo load balancing lan caching sing disebarake. Ayo menehi conto. Bayangake aplikasi seluler sing populer ing saindenging jagad. Bagean integral saka app kalebu ngemot gambar. Jumlah pangguna ing mayuta-yuta, mula server siji ora bisa nangani beban sing abot. Misahake sistem dadi lapisan bakal ngatasi masalah iki. Yen klien njaluk gambar saka simpul penengah, banjur simpul penengah njaluk gambar saka server sing paling ora dimuat saiki lan ngasilake gambar kasebut menyang klien. Yen caching ditrapake kanthi bener ing saben tingkat hirarki,

6. Kode on demand (opsional)

Watesan iki nuduhake manawa klien bisa nggedhekake fungsine kanthi ndownload kode saka server ing wangun applet utawa skrip.

Kaluwihan saka arsitektur RESTful

Aplikasi sing tundhuk karo kabeh watesan sing kasebut ing ndhuwur duwe kaluwihan ing ngisor iki: linuwih (ora perlu nyimpen kahanan klien, sing bisa uga ilang)
  • kinerja (amarga nggunakake cache)
  • skalabilitas
  • komunikasi transparan
  • antarmuka prasaja
  • portabilitas
  • kemampuan kanggo nggawe owah-owahan kanthi gampang
  • kemampuan kanggo berkembang lan adaptasi karo syarat anyar
Ringkesan REST. Bagean 2: Komunikasi antarane klien lan server Ringkesan REST. Bagean 3: Nggawe layanan RESTful ing Boot Spring
Komentar
  • Popular
  • Anyar
  • lawas
Sampeyan kudu mlebu kanggo ninggalake komentar
Kaca iki durung duwe komentar