Hampir semua yang Anda lihat di browser ditransmisikan ke komputer Anda melalui protokol HTTP . Misalnya, ketika Anda membuka halaman artikel ini, browser Anda mengirim banyak permintaan HTTP ( Request ) dan menerima banyak tanggapan ( Response ).

Header HTTP ( Header ) adalah bagian penting dari permintaan dan tanggapan HTTP ini, mereka menyampaikan informasi tentang browser klien, halaman yang diminta, server, dll.

Dalam tutorial ini kita akan menunjukkan bagaimana mendapatkan informasi yang Anda butuhkan dari Request Headers . Tutorial ini memandu tentang cara mendapatkan informasi yang kami minati dari header permintaan ( Request Headers ) dan menetapkan nilai tertentu ke header respons yang diperlukan ( Response Headers ).

Cara termudah untuk mendapatkan informasi tentang isi dari Request Headers adalah dengan mengeksekusi permintaan dalam aplikasi yang diterbitkan.

  • Buka alat pengembang ( F12 ).
  • Beralih ke tab Networks .
  • Memilih permintaan yang diajukan dari daftar.
  • Beralih ke tab Headers dan temukan bagian Request Headers .

1_f12

Cara menggunakan AppMaster untuk berinteraksi dengan Header Permintaan-Respons

Di desainer backend AppMaster , Anda bisa mendapatkan informasi header permintaan jika namanya ditentukan di blok proses bisnis Get Request Headers .

2_getRequestHeaders

  • Name [ string ] - Nama header;
  • Value [ string ] - Nilai header;

Untuk menambahkan Header kustom dalam respons - blok Set Response Header digunakan.

3_setResponseHeaders

  • Name [ string ] - Nama header;
  • Value [ string ] - Nilai header;

Ada banyak Request Headers , tetapi beberapa di antaranya dijelaskan di bawah ini (informasi diambil dari https://www.w3.org/Protocols/HTTP/HTRQ_Headers.html ):

  • From - Dalam format surat Internet, ini memberikan nama pengguna yang meminta. Bidang ini dapat digunakan untuk tujuan logging dan bentuk perlindungan akses yang tidak aman. Interpretasi bidang ini adalah bahwa permintaan dilakukan atas nama orang yang diberikan, yang menerima tanggung jawab atas metode yang dilakukan. Alamat email Internet di bidang ini tidak harus sesuai dengan host internet yang mengeluarkan permintaan. (Misalnya, ketika permintaan dilewatkan melalui gateway, maka alamat penerbit asli harus digunakan). Alamat surat harus, jika mungkin, menjadi alamat surat yang valid, baik itu alamat surat internet atau representasi surat internet dari suatu alamat pada beberapa sistem surat lainnya.
  • Accept - Bidang ini berisi daftar skema representasi yang dipisahkan titik koma ( nilai metainformasi Content-Type Konten) yang akan diterima sebagai tanggapan atas permintaan ini. Set yang diberikan tentu saja dapat bervariasi dari permintaan ke permintaan dari pengguna yang sama.
    Contoh:
    Terima: teks/polos, teks/html
    Terima: teks/x-dvi; q=.8; mxb=100000; mxt=5.0, teks/xc
  • Accept-Encoding - Mirip dengan Accept , tetapi mencantumkan tipe Content-Encoding yang dapat diterima dalam respons.
    Contoh:
    Terima-Encoding: x-kompres; x-zip
  • Referer - Bidang header opsional ini memungkinkan klien untuk menentukan, untuk kepentingan server, alamat ( URI ) dokumen (atau elemen di dalam dokumen) dari mana URI dalam permintaan diperoleh. Hal ini memungkinkan server untuk menghasilkan daftar back-link ke dokumen, untuk kepentingan, logging, dll Hal ini memungkinkan link buruk untuk dilacak untuk pemeliharaan. Jika sebagian URI diberikan, maka itu harus diurai relatif terhadap URI objek permintaan.
    Contoh:
    Perujuk: http://www.w3.org/hypertext/DataSources/Overview.html
  • Authorization - Jika baris ini ada, baris ini berisi informasi otorisasi. Formatnya adalah To Be Specified (TBS). Format bidang ini dalam bentuk yang dapat diperluas. Kata pertama adalah spesifikasi sistem otorisasi yang digunakan.
    Contoh:
    Otorisasi: Pembawa BtHKEsVs5mNNtNf7UWoVwjJzFqLOzucA
  • Accept-Language - Mirip dengan Accept , tetapi mencantumkan nilai Language yang lebih disukai dalam respons. Respons dalam bahasa yang tidak ditentukan tidak ilegal.
  • User-Agent - Baris ini jika ada memberikan program perangkat lunak yang digunakan oleh klien asli. Ini untuk tujuan statistik dan pelacakan pelanggaran protokol. Ini harus disertakan. Kata pertama yang dipisahkan spasi harus berupa nama produk perangkat lunak, dengan garis miring opsional dan penanda versi. Produk lain yang merupakan bagian dari agen pengguna dapat dimasukkan sebagai kata-kata terpisah.
    Contoh:
    Agen-Pengguna: LII-Cello/1.0 libwww/2.5

Contoh Response Headers :

  • Allowed - Mencantumkan kumpulan permintaan yang diizinkan untuk dikeluarkan oleh pengguna yang meminta untuk URL ini. Jika baris header ini dihilangkan, metode default yang diizinkan adalah " GET HEAD "
  • Public - Seperti yang Diizinkan tetapi mencantumkan permintaan yang dapat digunakan siapa saja. Jika dihilangkan, defaultnya adalah " GET " saja.
  • Content-Length - Menyiratkan bahwa body adalah biner dan harus dibaca langsung dari link komunikasi, tanpa garis parsing, dll. Ketika data merupakan bagian dari permintaan, mencegah pelolosan dan pelepasan urutan terminasi.
  • Content-Encoding - Menentukan mekanisme encoding yang digunakan. Saat ini hanya digunakan x-compress dan x-gzip .
  • Content-Type - menentukan jenis dokumen.
  • Content-Length - Menyiratkan bahwa body adalah biner dan harus dibaca langsung dari link komunikasi, tanpa garis parsing, dll. Ketika data merupakan bagian dari permintaan, mencegah pelolosan dan pelepasan urutan terminasi.
  • Last-Modified - Terakhir kali objek diubah, yaitu tanggal versi ini jika dokumen adalah "dokumen hidup".

Mari kita lihat contoh mendapatkan IP pengguna dan nilai Cookie -nya dari Header Permintaan .
Untuk mendapatkan IP pengguna digunakan x-real-ip . Header Permintaan Cookie memberikan informasi token Cookie .

BP terlihat seperti:

bp

Pada langkah selanjutnya, titik akhir untuk BP ini harus dibuat

endpoint

UI-nya terlihat seperti:

ui

Akhirnya, hasilnya ditunjukkan di bawah ini. Pengguna mendapatkan informasi dari header setelah tombol diklik ( pemicu onClick dalam alur kerja tombol) dan judul Label diperbarui dengan informasi ini ( Properti Pembaruan Label ).

result

Was this article helpful?

AppMaster.io 101 Kursus kilat

10 Modul
2 Minggu

Tidak yakin harus mulai dari mana? Mulailah dengan kursus kilat kami untuk pemula dan jelajahi AppMaster dari A sampai Z.

Mulai Kursus
Development it’s so easy with AppMaster!

Butuh lebih banyak bantuan?

Selesaikan masalah apa pun dengan bantuan para ahli kami. Hemat waktu dan fokus untuk membangun aplikasi Anda.

headphones

Hubungi dukungan

Beritahu kami tentang masalah Anda, dan kami akan menemukan solusi untuk Anda.

message

Obrolan Komunitas

Diskusikan pertanyaan dengan pengguna lain di obrolan kami.

Bergabunglah dengan komunitas