Apakah tag jangkar datang sebelum string kueri atau setelah?

52

Saya tidak jelas apakah tag anchor harus datang sebelum string kueri atau setelah.

http://www.domain.com/search?query=hello#name

atau

http://www.domain.com/search#name?query=hello

Atau apakah itu penting?

whoacowboy
sumber
1
Menguji. Hanya satu dari mereka yang berfungsi, jadi itu penting. Ketika saya mencoba jangkar pertama maka ia berpikir? adalah bagian dari fragmen "#" dan dengan demikian tidak melompat ke jangkar yang tepat (karena tidak ada yang memiliki? dalam namanya ...) dan mungkin tidak akan menyertakan info apa pun jika saya memeriksa string kueri dalam PHP. Yang terakhir saya belum diuji.
Julix

Jawaban:

62

Praktik terbaik adalah menambahkan jangkar bernama di akhir. Nama teknisnya adalah pengidentifikasi fragmen, dan sintaksnya ada di RFC 3986.

Bagian RFC ada di sini: http://tools.ietf.org/html/rfc3986#section-4.1

relatif-ref = relatif-bagian ["?" kueri] ["#" fragmen]

Wikipedia sebenarnya mencakupnya dengan baik:

Pengidentifikasi fragmen yang diperkenalkan oleh tanda pagar # adalah bagian terakhir opsional dari URL untuk dokumen

Ivel
sumber
Cheers @iivel! Bagian 3 lebih membantu bagi saya (bagian-4.1 tampaknya khusus untuk URI relatif) karena saya berdebat dengan seseorang.
eebbesen
Bagaimana dengan server web, apakah itu perlu ditangani saat melayani?
Behrouz.M
1
@raypixar URL fragmen tidak dikirim ke server
Juan Mendes