Rumah hujung hadapan web tutorial css 前端面试之同源和跨域详情介绍

前端面试之同源和跨域详情介绍

Sep 14, 2017 am 09:36 AM
memperkenalkan Butiran

跨域是由浏览器的同源策略引起的,是指页面请求的url地址,必须与浏览器上url地址处于同域上(即域名,端口,协议相同),下面这篇文章就来给大家介绍了关于前端面试必备之同源和跨域的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。

前言

众所周知浏览器的同源策略及跨域的方法在前端面试中也是出场率极高的问题,本文主要跟大家分享了关于前端面试时会遇到的同源和跨域问题,下面话不多说了,来一起看看详细的介绍吧。

什么是同源策略

同源策略是用来限制从一个源加载的文档或者脚本如何与来自另一个源的资源进行交互,是一种用于隔离潜在的恶意文件的关键的安全机制。

何谓同源

如果协议、域名和端口对于两个页面来说是相同的,则这两个页面就是同源的。比如:http://www.hyuhan.com/index.html 这个网站,协议是http,域名是www.hyuhan.com,端口是80(默认端口),它的同源情况如下:

  • http://www.hyuhan.com/other.html:同源

  • http://hyuhan.com/other.html:不同源(域名不同)

  • https://www.hyuhan.com/other.html:不同源(协议不同)

  • http://www.hyuhan.com:81/other.html:不同源(端口不同)

同源策略是为了保护用户信息的安全,受到同源策略限制的主要有以下几种行为:

  1. Cookie、LocalStorage和IndexDB无法读取

  2. DOM无法操作

  3. AJAX请求不能发送

如何进行跨域访问

怎么跨域进行AJAX请求

主要由三种方法可以绕过同源策略的限制,来进行跨域的AJAX请求。

JSONP

JSONP是客户端与服务端跨域通信的常用的方法。利用可以跨域的


window.onload = function() {
    var script = document.createElement('script');
    script.src = "http://example.com/callback=test";
    document.appendChild(script);
}
function test(res) {
    console.log(res);
}
Salin selepas log masuk

src的callback参数是用来设置后端需要调用的回调函数的名字的,服务器返回的数据如下:


test({
    "name": "小明",
    "age": 24
    })
Salin selepas log masuk

这样,前端就能跨域读取后端的数据了。但是jsopn只能发生get请求,不能发送post请求。

WebSocket

WebSocket是一种基于TCP的新的网络协议,它不实行同源策略,只要服务器支持,就可以进行跨域访问。而且WebSocket并不限于以Ajax方式通信,因为Ajax技术需要客户端发起请求,而WebSocket服务器和客户端可以彼此相互推送信息。

CORS

CORS是Access-Control-Allow-Origin(跨域资源共享)的缩写,它是一个W3C的标准。CORS需要浏览器和服务器同时支持,目前基本所有的浏览器都支持该功能。服务器端对于CORS的支持,主要就是通过设置Access-Control-Allow-Origin来进行的。如果浏览器检测到相应的设置,就可以允许Ajax进行跨域的访问。

document.domain

Cookie是服务器写入浏览器的信息,安全起见,只有同源的网页才能共享。但是,如果两个网页的一级域名相同,但是耳机域名不同的话,可以通过设置document.domain来共享Cookie。

比如,一个网页域名是http://w1.example.com/a.html ,另一个网页域名是http://w2.example.com/b.html ,只要给们设置相同的document.domain,这两个网页就可以共享Cookie。

postMessage API

postMessage()方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文档、多窗口、跨域消息传递。用postMessage()函数传递消息,目标页面监听window的message事件接收消息。利用postMessage,我们可以跨域读取LocalStorage和IndexDB还有DOM数据。

window.name

浏览器窗口有window.name的属性,该属性规定无论是否同源,只要在一个窗口里,前一个网页设置了这个属性,后一个网页就可以读取它。即在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每个页面对window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的。显然,这是可以实现跨域访问的。

Atas ialah kandungan terperinci 前端面试之同源和跨域详情介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pengenalan terperinci tentang apa itu wapi Pengenalan terperinci tentang apa itu wapi Jan 07, 2024 pm 09:14 PM

Pengguna mungkin pernah melihat istilah wapi apabila menggunakan Internet, tetapi bagi sesetengah orang mereka pasti tidak tahu apa itu wapi Berikut adalah pengenalan terperinci untuk membantu mereka yang tidak tahu untuk memahami. Apa itu wapi: Jawapan: wapi ialah infrastruktur untuk pengesahan dan kerahsiaan LAN wayarles. Ini seperti fungsi seperti inframerah dan Bluetooth, yang biasanya dilindungi berhampiran tempat seperti bangunan pejabat. Pada asasnya mereka dimiliki oleh jabatan kecil, jadi skop fungsi ini hanya beberapa kilometer. Pengenalan berkaitan wapi: 1. Wapi ialah protokol penghantaran dalam LAN wayarles. 2. Teknologi ini dapat mengelakkan masalah komunikasi jalur sempit dan membolehkan komunikasi yang lebih baik. 3. Hanya satu kod diperlukan untuk menghantar isyarat

Penjelasan terperinci sama ada x220 menyokong peningkatan kepada Windows 11 Penjelasan terperinci sama ada x220 menyokong peningkatan kepada Windows 11 Dec 27, 2023 pm 11:47 PM

X220 ialah komputer riba yang dilancarkan oleh Lenovo pada 2012, hampir sepuluh tahun lalu. Sebagai model lama, ramai pengguna ingin tahu sama ada mereka boleh menaik taraf kepada sistem win11 yang terkini, sebenarnya komputer ini boleh dinaik taraf, tetapi ia tidak boleh dinaik taraf melalui kaedah push Microsoft. Bolehkah x220 dinaik taraf kepada win11: Jawapan: x220 boleh dinaik taraf kepada win111 Walaupun x220 boleh dinaik taraf kepada win11, sistem tidak boleh dinaik taraf melalui kaedah yang disediakan oleh Microsoft. 2. Oleh kerana Microsoft mempunyai keperluan konfigurasi perkakasan yang sangat tinggi untuk win11 kali ini, jika ia tidak dipenuhi, anda mesti menggunakan kaedah lain untuk menaik taraf. 3. Pengguna yang ingin menaik taraf win11 boleh memuat turun fail pemasangan semula sekali klik win11 dari laman web ini. 4

Bagaimana untuk menyemak ketulenan fon kepala JBL Bagaimana untuk menyemak ketulenan fon kepala JBL Dec 29, 2023 pm 10:54 PM

Fon kepala JBL adalah pilihan pertama untuk ramai pengguna mendengar muzik, dengan ulasan yang memberangsangkan, tetapi semua orang masih takut dengan kepalsuan Jadi bagaimana anda boleh menyemak keaslian fon kepala JBL untuk mengelakkan masalah ini? Mari lihat cara membuat pertanyaan di bawah. Cara menyemak ketulenan fon kepala jbl: 1. Mula-mula masukkan "Pusat Pengesahan Maklumat Produk China". 2. Kemudian masukkan kod pertanyaan untuk menyemak sama ada ia betul dan menentukan sama ada ia tulen. 3. Anda juga boleh membezakannya dengan kejelasan bunyi fon telinga. Bunyi fon kepala tulen sangat jelas dan kualiti bunyi tidak akan berubah. Bunyi fon kepala palsu akan mempunyai banyak pemalsuan, dan kualiti bunyi juga sangat buruk. 4. Anda boleh menaikkan bunyi fon kepala anda ke tahap maksimum untuk melihat sama ada ia harmoni Bunyi fon kepala sebenar adalah sama. Tetapi bunyi fon kepala palsu dihidupkan

Penjelasan terperinci sama ada win11 boleh menjalankan permainan PUBG Penjelasan terperinci sama ada win11 boleh menjalankan permainan PUBG Jan 06, 2024 pm 07:17 PM

Pubg, juga dikenali sebagai PlayerUnknown's Battlegrounds, ialah permainan shooting battle royale yang sangat klasik yang telah menarik ramai pemain sejak popularitinya pada 2016. Selepas pelancaran sistem win11 baru-baru ini, ramai pemain ingin memainkannya di win11 Jom ikuti editor untuk melihat sama ada win11 boleh bermain pubg. Bolehkah win11 bermain pubg? 1. Pada permulaan win11, kerana win11 perlu untuk membolehkan tpm, ramai pemain telah diharamkan dari pubg. 2. Walau bagaimanapun, berdasarkan maklum balas pemain, Blue Hole telah menyelesaikan masalah ini, dan kini anda boleh bermain pubg seperti biasa dalam win11. 3. Kalau jumpa pub

Adakah Bluetooth 5.3 memerlukan sokongan telefon mudah alih? Untuk butiran sila lihat Adakah Bluetooth 5.3 memerlukan sokongan telefon mudah alih? Untuk butiran sila lihat Jan 14, 2024 pm 04:57 PM

Apabila kita membeli telefon bimbit, kita akan melihat bahawa terdapat pilihan sokongan Bluetooth dalam parameter telefon mudah alih Kadang-kadang kita akan menghadapi situasi di mana set kepala Bluetooth yang dibeli tidak sepadan dengan telefon mudah alih. Begitu juga dengan Bluetooth 5.3 yang perlu disokong telefon bimbit itu sebenarnya tidak perlu. Adakah Bluetooth 5.3 memerlukan sokongan telefon bimbit. Jawapan: Bluetooth 5.3 memerlukan sokongan telefon mudah alih. Walau bagaimanapun, mana-mana telefon mudah alih yang menyokong Bluetooth boleh digunakan. 1. Bluetooth serasi ke belakang, tetapi menggunakan versi yang sepadan memerlukan sokongan telefon mudah alih. 2. Contohnya, jika kita membeli headset Bluetooth tanpa wayar menggunakan Bluetooth 5.3. 3. Kemudian, jika telefon bimbit kita hanya menyokong Bluetooth 5.0, maka Bluetooth 5.0 digunakan semasa menyambung 4. Oleh itu, kita masih boleh menggunakan telefon bimbit ini untuk menyambung fon kepala untuk mendengar muzik, tetapi kelajuannya tidak sehebat Bluetooth.

Pengenalan terperinci sama ada pemproses i5 boleh memasang win11 Pengenalan terperinci sama ada pemproses i5 boleh memasang win11 Dec 27, 2023 pm 05:03 PM

i5 ialah siri pemproses yang dimiliki oleh Intel Ia mempunyai pelbagai versi generasi ke-11 i5, dan setiap generasi mempunyai prestasi yang berbeza. Oleh itu, sama ada pemproses i5 boleh memasang win11 bergantung pada generasi pemproses itu Mari ikuti editor untuk mempelajarinya secara berasingan. Bolehkah pemproses i5 dipasang dengan win11: Jawapan: pemproses i5 boleh dipasang dengan win11. 1. Pemproses i51 generasi kelapan dan seterusnya, generasi kelapan dan i5 seterusnya boleh memenuhi keperluan konfigurasi minimum Microsoft. 2. Oleh itu, kita hanya perlu memasuki laman web Microsoft dan memuat turun "Win11 Installation Assistant" 3. Selepas muat turun selesai, jalankan pembantu pemasangan dan ikut arahan untuk memasang Win11. 2. i51 sebelum generasi kelapan dan selepas generasi kelapan

Analisis soalan lazim tentang Cyberpunk 2077 Analisis soalan lazim tentang Cyberpunk 2077 Jan 05, 2024 pm 06:05 PM

Baru-baru ini, permainan yang sangat popular Cyberpunk 2077 telah dilancarkan dalam talian Ramai pengguna tergesa-gesa untuk memuat turun dan mengalaminya Namun, masih terdapat banyak masalah dalam proses Hari ini kami membawakan anda beberapa soalan lazim tentang bermain Cyberpunk 2077 jika anda mahu apa-apa. Soalan lazim tentang bermain Cyberpunk 2077: 1. Butiran harga: 1. Harga pembelian pada platform permainan wap ialah: 298 yuan. 2. Harga pembelian platform permainan epik ialah: 43 dolar AS = 282 yuan. 3. Harga pembelian terminal permainan ps4 ialah: 400 yuan + HKD dan 380 yuan + RMB berkotak. 4. Harga pembelian Rusia di kawasan Rusia ialah: 172 yuan. 2. Butiran konfigurasi: 1. Konfigurasi minimum (1080P): GT

Mengapa saya tidak boleh membeli kad saya? Mengapa saya tidak boleh membeli kad saya? Dec 27, 2023 am 10:42 AM

Dikatakan bahawa apabila membeli kad grafik, anda mesti berhati-hati untuk tidak membeli kad perlombongan, tetapi saya percaya bahawa kebanyakan pengguna tidak faham mengapa mereka tidak boleh membeli kad perlombongan, sebenarnya terdapat banyak pantang larang tengok. Mengapa anda tidak boleh membeli kad perlombongan? Jawapan: Anda tidak boleh membeli kad perlombongan kerana ia tidak mempunyai jaminan dan mempunyai beban yang tinggi untuk masa yang lama, jadi jangka hayatnya sangat berkurangan. Dalam erti kata lain, jika anda membeli kad mining, ia tidak boleh dibaiki apabila ia rosak, dan ia mudah rosak. Malah terdapat beberapa kad perlombongan yang telah mencapai had atas jangka hayat mereka, dan mereka mungkin telah mencapai had mereka sebelum menggunakannya selepas membelinya. Pengenalan yang berkaitan dengan kad perlombongan yang tidak boleh dibeli: 1. Kad perlombongan digunakan untuk perlombongan Bitcoin, jadi mereka sangat menyukai kad grafik, dan kerugiannya juga sangat besar. 2. Kad grafik ini telah berada di bawah beban yang tinggi untuk masa yang lama dan mungkin haus lebih daripada biasa selepas 3 bulan digunakan.

See all articles