Rumah >pembangunan bahagian belakang >Golang >Mengapa Atribut Hos dan Skim Kosong dalam URL Permintaan My Go Development Server?
Pada peringkat awal membangunkan aplikasi Go, menggunakan kod "hello, world" untuk membiasakan diri dengan rangka kerja adalah biasa. Walau bagaimanapun, apabila cuba mengakses atribut Hos dan Skim daripada URL permintaan, anda mungkin menghadapi nilai kosong yang tidak dijangka. Mengapa ini berlaku?
Pustaka HTTP Go menghuraikan URL mentah daripada permintaan. Apabila anda mengakses pelayan menggunakan laluan relatif, seperti:
GET / HTTP/1.1 Host: localhost:8080
Medan Hos dan Skim dalam objek URL kekal kosong.
Sebaliknya, apabila mengakses pelayan daripada proksi , URL mutlak seperti ini digunakan:
GET http://localhost:8080/ HTTP/1.1 Host: localhost:8080
Ini menghasilkan populasi yang betul bagi medan ini.
Kepada dapatkan hos HTTP, pertimbangkan untuk menggunakan atribut Hos bagi struct http.Request secara langsung.
Selain itu, anda boleh menentukan jenis URL (relatif atau mutlak) dengan memeriksa kaedah IsAbs():
isAbsoluteURL := r.URL.IsAbs()
Semakan ini boleh membantu membezakan antara dua senario dan membimbing logik kod anda dengan sewajarnya.
Atas ialah kandungan terperinci Mengapa Atribut Hos dan Skim Kosong dalam URL Permintaan My Go Development Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!