JSON vs JSONP: Memahami Perbezaan
JSON dan JSONP (JavaScript Object Notation with Padding) berkongsi asas JSON, format plaintext digunakan untuk mewakili objek data sebagai rentetan. Walau bagaimanapun, mereka berbeza dengan ketara dalam format, jenis fail dan penggunaan praktikalnya.
Perbezaan Format
JSON ialah format data kendiri yang boleh dihuraikan oleh mana-mana bahasa pengaturcaraan . Ia mengikuti sintaks tertentu dengan pasangan nilai kunci yang disertakan dalam pendakap kerinting.
Sebaliknya, JSONP bukanlah format JSON yang sebenar. Sebaliknya, ia melibatkan membungkus objek JSON dalam panggilan fungsi JavaScript. Cara yang paling biasa untuk melakukan ini ialah mengelilingi data JSON dengan nama fungsi arbitrari diikuti dengan kurungan, seperti func({"name":"value"}).
Perbezaan Jenis Fail
Fail JSON mempunyai sambungan fail ".json" dan dianggap sebagai fail teks. Data JSON boleh disimpan dalam fail JSON, pembolehubah objek JavaScript atau rentetan.
JSONP, sebaliknya, bukan jenis fail. Ia adalah kod JavaScript, jadi ia tidak mempunyai sambungan fail yang berasingan. Biasanya, data JSONP dibenamkan dalam fail JavaScript dengan sambungan ".js".
Perbezaan Penggunaan Praktikal
JSON biasanya digunakan untuk menghantar data antara pelayan dan pelanggan, kerana ia boleh dibaca oleh manusia dan boleh dihuraikan oleh mesin. Ia sesuai untuk menghantar data sebagai tindak balas kepada permintaan AJAX, contohnya.
JSONP menyediakan tujuan khusus dalam permintaan AJAX merentas tapak. Apabila pelanggan meminta data daripada pelayan dengan domain yang berbeza, dasar asal yang sama bagi pelayar web menghalang skrip daripada mengakses data. JSONP mengatasi had ini dengan membenamkan data JSON dalam panggilan fungsi JavaScript. Ini membolehkan pelanggan menerima data seolah-olah ia adalah objek JavaScript.
JSONP amat berfaedah apabila pelanggan perlu membuat satu permintaan untuk mengambil data daripada domain pihak ketiga tanpa menggunakan bahagian pelayan proksi atau CORS (Cross-Origin Resource Sharing). Walau bagaimanapun, ia mempunyai implikasi keselamatan, kerana sesiapa sahaja berpotensi mengubah suai data JSONP sebelum ia dimuatkan.
Atas ialah kandungan terperinci JSON vs. JSONP: Apakah Perbezaan Utama dan Bilakah Anda Perlu Menggunakan Setiap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!