Rumah >pembangunan bahagian belakang >Golang >Mengapa Atribut Hos dan Skim Kosong dalam URL Permintaan My Go Development Server?

Mengapa Atribut Hos dan Skim Kosong dalam URL Permintaan My Go Development Server?

DDD
DDDasal
2024-12-13 15:48:25145semak imbas

Why Are Host and Scheme Attributes Blank in My Go Development Server's Request URL?

Hos dan Skim Kosong pada Pelayan Pembangunan

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!

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