Rumah >pembangunan bahagian belakang >Golang >Mengapa Permintaan POST Pelayan Web Go Saya Dihalakan semula ke Permintaan GET?

Mengapa Permintaan POST Pelayan Web Go Saya Dihalakan semula ke Permintaan GET?

DDD
DDDasal
2024-11-24 02:27:09564semak imbas

Why Are My Go Web Server POST Requests Being Redirected to GET Requests?

Go Web Server Mengubah Hala Secara Automatik Permintaan POST

Apabila menghadapi isu mengecewakan permintaan POST yang dialihkan ke permintaan GET dalam pelayan web Go, puncanya terletak pada perincian yang halus: garis miring di belakang dalam yang didaftarkan laluan.

Secara lalai, pelaksanaan HTTP ServeMux melakukan ubah hala apabila permintaan diterima untuk punca subpokok tanpa garis miring mengekor. Jika pengendali anda berdaftar dengan /myurl/ tetapi permintaan dihantar ke /myurl, pelayan bertindak balas dengan ubah hala 301 ke laluan yang betul.

Penyelesaian:

Menangani tingkah laku ini melibatkan salah satu daripada pendekatan berikut:

  • Pelayar terus ke yang betul URL: Pastikan penyemak imbas dihalakan ke /myurl/ dengan tanda miring di belakang disertakan.
  • Daftar pengendali hanya ke laluan tertentu: Kendalikan permintaan untuk /myurl secara berasingan dengan mendaftarkan pengendali ke /myurl.
  • Daftar kedua-dua laluan: Daftar pengendali ke kedua-dua /myurl dan /myurl/, membenarkan mana-mana laluan untuk mencetuskan tindakan yang diingini tanpa ubah hala.

Nota Tambahan:

  • Permintaan POST yang diubah hala akan mengakibatkan permintaan GET dihantar oleh penyemak imbas, bukan permintaan POST yang lain.
  • Atas sebab keselamatan, penyemak imbas melakukannya tidak menghantar semula data POST secara automatik apabila diubah hala.
  • Teroka sumber yang disediakan dalam respons asal untuk mendapatkan cerapan lanjut tentang tingkah laku ini.

Atas ialah kandungan terperinci Mengapa Permintaan POST Pelayan Web Go Saya Dihalakan semula ke Permintaan GET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn