Materi iki minangka bagéan saka seri "Introduction to Enterprise Development". Artikel sadurunge:
Hello! Dina iki kita bakal ngerti protokol HTTP lan HTTPS. Nanging pisanan, ayo njlentrehake siji titik: kita ngomong babagan protokol transfer data liwat jaringan ing lapisan aplikasi model OSI. Nalika sampeyan ngelingi, kita ngrembug model OSI ing salah sawijining artikel sadurunge. Lan yen sampeyan ora ngelingi, iki .
Perlu dicathet yen protokol HTTP mung kalebu teks. Inggih, kita paling kasengsem ing struktur ing ngendi teks iki dumunung. Saben pesen kasusun saka telung bagean:
Apa protokol transfer data
Iki minangka jeneng sing diwenehake kanggo persetujuan sing ditampa kanthi umum, amarga pangembang layanan sing beda ngirim informasi ing wangun siji. Contone, nggunakake Google Chrome, sampeyan bisa entuk informasi saka Facebook lan Twitter, amarga pangembang ngirimake nggunakake protokol HTTP standar, lan browser sampeyan bisa nangani. Aturan seragam uga trep banget kanggo pangembang sisih server dhewe: ana akeh perpustakaan sing bisa ngowahi informasi kanggo sampeyan lan ngirim nggunakake protokol sing dibutuhake. HTTP wiwitane disusun minangka protokol kanggo nransfer kaca HTML. Iki wis suwe, nanging saiki programer asring nransfer senar lan file media. Sakabèhé, protokol iki serbaguna lan fleksibel, lan pancen gampang digunakake. Saiki ayo ngerteni carane nindakake iki.
struktur HTTP
Perlu dicathet yen protokol HTTP mung kalebu teks. Inggih, kita paling kasengsem ing struktur ing ngendi teks iki dumunung. Saben pesen kasusun saka telung bagean:
- Baris wiwitan-nemtokake data layanan.
- Header - katrangan paramèter pesen.
- Awak pesen (Body) - data pesen. Kudu dipisahake saka judhul kanthi baris kosong.
Kaya apa panjalukan HTTP sing prasaja
GET / HTTP/1.1
Host: javarush.com
User-Agent: firefox/5.0 (Linux; Debian 5.0.8; en-US; rv:1.8.1.7)
Baris wiwitan ngandhut:
- GET - cara panyuwunan;
- / — njaluk path (path);
- HTTP/1.1 - versi protokol transfer data.
- Host - tuan rumah sing dijaluk ditujokake;
- Agen pangguna yaiku klien sing ngirim panjaluk.
POST /user/create/json HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: 28
Host: javarush.com
{
"Id": 12345,
"User": "John"
}
Panjaluk kasebut dikirim menyang javarush.com/user/create/json, versi protokol yaiku HTTP/1.1. Nampa nemtokake format respon apa sing dikarepake klien, Tipe-Konten nemtokake format apa sing dikirim ing awak pesen. Isi-Length - jumlah karakter ing awak. Panjaluk HTTP bisa ngemot akeh header sing beda. Rincian liyane bisa ditemokake ing spesifikasi protokol .
Respon HTTP
Sawise nampa panjaluk kasebut, server ngolah lan ngirim tanggapan menyang klien:HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 98
<html>
<head>
<title>An Example Page</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>
Baris wiwitan ing respon ngemot versi protokol (HTTP/1.1), Kode Status (200), Katrangan Status (OK). Judhul nuduhake jinis lan dawa isi. Badan respon ngemot kode HTML sing bakal digambar browser menyang kaca HTML.
Kode Status Tanggapan
Kabeh iku cetha karo awak pesen lan header, nanging iku worth ngandika sawetara tembung bab kode status. Kode Status Respon tansah telung digit, lan digit pisanan saka kode nuduhake kategori respon:- 1xx - informasi. Panyuwunan wis ditampa, server siap nerusake;
- 2xx - sukses. Panyuwunan wis ditampa, dimangerteni lan diproses;
- 3xx - pangalihan. Langkah-langkah ing ngisor iki kudu ditindakake kanggo ngolah panyuwunan;
- 4xx - kesalahan klien. Panjaluk kasebut ngemot kasalahan utawa ora tundhuk karo protokol;
- 5xx - kesalahan server. Server ora bisa ngolah panjaluk kasebut, sanajan wis disusun kanthi bener;
- 200 OK - panjalukan ditampa lan kasil diproses;
- 201 Digawe - panjalukan ditampa lan kasil diproses, nyebabake nggawe sumber daya anyar utawa contone;
- 301 Dipindhah Permanen - sumber daya sing dijaluk wis dipindhah kanthi permanen, lan panjalukan sabanjure kudu ditindakake ing alamat anyar;
- 307 Temporary Redirect - sumber daya wis dipindhah sementara. Saiki, sampeyan bisa ngakses kanthi nggunakake pangalihan otomatis;
- 403 Dilarang - panjaluk kasebut jelas, nanging wewenang dibutuhake;
- 404 Ora Ditemokake - server ora nemokake sumber daya ing alamat iki;
- 501 Ora Dilaksanakake - server ora ndhukung fungsi kanggo nanggapi panjalukan iki;
- 505 Versi HTTP Ora Didhukung - server ora ndhukung versi protokol HTTP sing ditemtokake.
GO TO FULL VERSION