Parsing URI adalah hal yang menarik. Saya tidak menyadarinya sebelumnya, dan ternyata benda ini bisa sangat rumit.
Uri
Penjelasan untuk URI di Wikipedia adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
Dalam istilah komputer, pengidentifikasi sumber daya yang seragam (URI) adalah string yang mengidentifikasi nama sumber daya internet. Identifikasi ini memungkinkan pengguna untuk berinteraksi dengan sumber daya dalam jaringan (biasanya merujuk ke World Wide Web) melalui protokol tertentu. URI ditentukan oleh skema yang mencakup menentukan sintaks dan protokol terkait.
Kutipan dari penjelasan komposisi URI pada jaringan, yang dapat dilihat pada penguraian URI yang lebih baru.
Uri umumnya terdiri dari tiga bagian:
1. Mekanisme penamaan untuk mengakses sumber daya.
2. Nama host sumber daya.
3. Nama sumber daya itu sendiri diwakili oleh jalur.
Atau dapat dikatakan bahwa keduanya tampaknya sama.
Format URL terdiri dari tiga bagian berikut:
1. Perjanjian (atau metode layanan)
2. Alamat IP host (kadang -kadang juga termasuk nomor port) yang memegang sumber daya
3. Alamat spesifik sumber daya host. , seperti direktori dan nama file
Analisis URI
Salinan kode adalah sebagai berikut:
"Menyelesaikan" URI berarti mengonversi referensi URI relatif ke bentuk absolut, atau dereferensi URI dengan mencoba mendapatkan URI yang dapat dideferening atau sumber daya yang diwakili oleh referensi URI. Bagian "parsing" dari perangkat lunak pemrosesan dokumen biasanya menyediakan kedua fungsi.
JavaScript Uri Parsing
Cukup ambil pencarian JS di blog sebagai contoh, berikut ini adalah URL -nya.
//www.vevb.com/search/?q=js&type=
Lalu ada
Salinan kode adalah sebagai berikut:
var parser = document.createElement ('a');
parser.href = "//www.vevb.com/search/?q=js&type="
Kita dapat mengetahui protokolnya, nomor port, host, alamat tertentu, dll.
Salinan kode adalah sebagai berikut:
Parser.protocol;
parser.host;
parser.pathname;
Parser.Search;
Hasilnya dikembalikan adalah
Salinan kode adalah sebagai berikut:
Protokol: http
Host: www.vevb.com
pathname:/cari/
Cari :? Q = JS & TYPE =
Menambahkan hasil di atas adalah URI lengkap. Hanya saja saya tidak mengerti bagian parser. Sangat baik. Untuk? Nomor, itu harus menjadi parameter, parameter yang digunakan untuk mencari.
Jika itu untuk URI email, anggaplah bahwa URI adalah
Salinan kode adalah sebagai berikut:
Mailto: [email protected]? Subjek = halo
Jadi
Salinan kode adalah sebagai berikut:
var parser = document.createElement ('a');
parser.href = "mailto: [email protected]? subjek = hello";
> parser.protocol
"Mailto:"
> parser.pathname
> Parser.search
"? subjek = halo"