XSS 攻击是指攻击者在网站上注入恶意的客户端代码,通过恶意脚本对客户端网页进行篡改,从而导致:在用户浏览网页时,如果客户端浏览器或者服务器端没有过滤或转义掉这些脚本,而是将其作为内容发布到了页面上,则其他用户访问这个页面的时候就会运行这些脚本...通过 Referer Check,可以检查请求是否来自合法的”源”。 比如,如果用户要删除自己的帖子,那么先要登录 www.c.com,然后找到对应的页面,发起删除帖子的请求。...如果 Referer 是其他网站的话,则有可能是 CSRF 攻击,可以拒绝该请求。 对于发布帖子这一类创建资源的操作,应该只接受 POST 请求,而 GET 请求应该只浏览而不改变服务器端资源。...它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。...3.3 防范措施 现代浏览器默认都会基于安全原因而阻止跨域的ajax请求,这是现代浏览器中必备的功能,但是往往给开发带来不便。
https://www.oecom.cn:8080 //端口不同,不同源 http://www.oecom.cn//协议不同,不同源 https://oecom.cn//域名不同,不同源 同源策略是浏览器的一个安全基石...Ajax 同源政策规定,AJAX请求只能发给同源的网址,否则就报错。...它的基本思想是,网页通过添加一个元素,向服务器请求JSON数据,这种做法不受同源政策限制;服务器收到请求后,将数据放在一个指定名字的回调函数里传回来。...首先,网页动态插入元素,由它向跨源网址发出请求 function addScriptTag(src) { var script = document.createElement('script...它是W3C标准,是跨源AJAX请求的根本解决方法。相比JSONP只能发GET请求,CORS允许任何类型的请求。
它的基本思想是,网页通过添加一个script元素,向服务器请求JSON数据,这种做法不受同源政策限制;服务器收到请求后,将数据放在一个指定名字的回调函数里传回来。...首先,网页动态插入script元素,由它向跨源网址发出请求。...针对iframe 如果两个网页不同源,就无法拿到对方的DOM。典型的例子是iframe窗口和window.open方法打开的窗口,它们与父窗口无法通信。...下面是一个例子,浏览器发出的WebSocket请求的头信息(摘自维基百科)。...__它允许浏览器向跨源服务器,发出XMLHttpRequest(Level2)请求,从而克服了XMLHttpRequest老版本只能向同一域名的服务器请求数据__。
举例来说,A网页是http://w1.example.com/a.html,B网页是http://w2.example.com/b.html,那么只要设置相同的document.domain,两个网页就可以共享...它的基本思想是,网页通过添加一个元素,向服务器请求JSON数据,这种做法不受同源政策限制;服务器收到请求后,将数据放在一个指定名字的回调函数里传回来。...首先,网页动态插入元素,由它向跨源网址发出请求。...下面是一个例子,浏览器发出的WebSocket请求的头信息(摘自维基百科)。...它是W3C标准,是跨源AJAX请求的根本解决方法。相比JSONP只能发GET请求,CORS允许任何类型的请求。 下一篇文章,我会详细介绍,如何通过CORS完成跨源AJAX请求。 (完)
举例来说,A网页是http://w1.example.com/a.html,B网页是http://w2.example.com/b.html,那么只要设置相同的document.domain,两个网页就可以共享...它的基本思想是,网页通过添加一个元素,向服务器请求JSON数据,这种做法不受同源政策限制;服务器收到请求后,将数据放在一个指定名字的回调函数里传回来。...首先,网页动态插入元素,由它向跨源网址发出请求。...下面是一个例子,浏览器发出的WebSocket请求的头信息(摘自维基百科)。...它是W3C标准,是跨源AJAX请求的根本解决方法。相比JSONP只能发GET请求,CORS允许任何类型的请求。
互联网上,公开数据(各种网页)都是以http(或加密的http即https)协议传输的。所以,我们这里介绍的爬虫技术都是基于http(https)协议的爬虫。...浏览器发出请求 在浏览器地址栏输入网址后回车,浏览器请服务器提出网页请求,也就是告诉服务器,我要看你的某个网页。 上面短短一句话,蕴藏了无数玄机啊,让我不得不费点口舌一一道来。...浏览器获得了网站服务器的IP地址,就可以向服务器发送请求了。这个请求就是遵循http协议的。...如果我们在浏览器地址栏输入一个网页网址(不是文件下载地址),回车后,很快就看到了一个网页,里面包含排版文字、图片、视频等数据,是一个丰富内容格式的页面。...如果html代码里面没有我们想要的数据,但是在网页里面却看到了,那就是浏览器通过ajax请求异步加载(偷偷下载)了那部分数据。
协议相同 域名相同 端口相同 举例来说,undefined这个网址,协议是http://,域名是www.example.com,端口是80(默认端口可以省略)。它的同源情况如下。...举例来说,A网页是undefined,B网页是undefined,那么只要设置相同的document.domain,两个网页就可以共享Cookie。...它的基本思想是,网页通过添加一个元素,向服务器请求JSON数据,这种做法不受同源政策限制;服务器收到请求后,将数据放在一个指定名字的回调函数里传回来。...首先,网页动态插入元素,由它向跨源网址发出请求。...下面是一个例子,浏览器发出的WebSocket请求的头信息(摘自维基百科)。
二、HTTP请求不包括# #是用来指导浏览器动作的,对服务器端完全无用。所以,HTTP请求中不包括#。...比如,访问下面的网址, http://www.example.com/index.html#print 浏览器实际发出的请求是这样的: GET /index.html HTTP/1.1...比如,下面URL的原意是指定一个颜色值: http://www.example.com/?color=#fff 但是,浏览器实际发出的请求是: GET /?...浏览器不会重新向服务器请求index.html。...八、Google抓取#的机制 默认情况下,Google的网络蜘蛛忽视URL的#部分。 但是,Google还规定,如果你希望Ajax生成的内容被浏览引擎读取,那么URL中可以使用”#!”
浏览器与服务器之间,采用HTTP协议通信。用户在浏览器地址栏键入一个网址,或者通过网页表单向服务器提交内容,这时浏览器就会向服务器发出HTTP请求。...创建AJAX对象 发出HTTP请求 接收服务器传回的数据 更新网页数据 概括起来,就是一句话,AJAX通过原生的XMLHttpRequest对象发出HTTP请求,得到服务器返回的数据后,再进行处理。...注意,AJAX只能向同源网址(协议、域名、端口都相同)发出HTTP请求,如果发出跨源请求,就会报错。 1、AJAX 是什么?有什么作用?...这一技术能够向服务器请求额外的数据而无需从新加载页面。 作用:传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。...它依赖的是现有的CSS/HTML/Javascript,而其中最核心的依赖是浏览器提供的 XMLHttpRequest对象,是这个对象使得浏览器可以发出HTTP请求与接收HTTP响应。
比如,你点击下面url: https://blog.csdn.net/weixin_43582101/article/details/90416944 看到的是页面是正常。...HTTP请求中不包括#: #是用来指导浏览器动作的,对服务器端完全无用。所以,HTTP请求中不包括#。...比如,访问下面的网址, https://blog.csdn.net/weixin_43582101/article/details/90416944#print 浏览器实际发出的请求是这样的: GET..._43582101/article/details/90416944#switch_to_window 浏览器不会重新向服务器请求index.html。...Google抓取#的机制 默认情况下,Google的网络蜘蛛忽视URL的#部分。 但是,Google还规定,如果你希望Ajax生成的内容被浏览引擎读取,那么URL中可以使用"#!"
二、HTTP请求不包括# #是用来指导浏览器动作的,对服务器端完全无用。所以,HTTP请求中不包括#。...比如,访问下面的网址, http://www.example.com/index.html#print 浏览器实际发出的请求是这样的: GET /index.html HTTP/1.1...比如,下面URL的原意是指定一个颜色值: http://www.example.com/?color=#fff 但是,浏览器实际发出的请求是: GET /?...浏览器不会重新向服务器请求index.html。...八、Google抓取#的机制 默认情况下,Google的网络蜘蛛忽视URL的#部分。 但是,Google还规定,如果你希望Ajax生成的内容被浏览引擎读取,那么URL中可以使用"#!"
HTTP请求 (5)获取异步调用返回的数据 (6)使用JavaScript和DOM实现局部刷新 ajax是一种创建交互式网页的计算 2,同步和异步的区别?...1、浏览器会开启一个线程来处理这个请求,对 URL 分析判断如果是 http 协议就按照 Web 方式来处理; 2、调用浏览器内核中的对应方法,比如 WebView 中的 loadUrl 方法; 3...、通过DNS解析获取网址的IP地址,设置 UA 等信息发出第二个GET请求; 4、进行HTTP协议会话,客户端发送报头(请求报头); 5、进入到web服务器上的 Web Server,如 Apache...2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。 3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。...4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
同源策略是浏览器(注意是浏览器,跟通信协议无关)上为了安全考虑实施的非常重要的安全机制。 Ajax 默认只能获取到同源的数据,对于非同源的数据,Ajax是获取不到的。 什么是同源?...协议相同 域名相同 端口相同 举例来说,http://www.example.com/dir/page.html这个网址,协议是http://,域名是www.example.com,端口是80(默认端口可以省略...这个网址,在这个地址中要去访问下面服务器的数据,那么会发生什么情况呢?...JSONP JSONP基本思想是,网页通过添加一个元素,向服务器请求JSON数据,这种做法不受同源政策限制;服务器收到请求后,将数据作为参数放在一个指定名字的回调函数里传回来,这个回调函数的名字我们需要通过...由于发出的WebSocket请求中有有一个字段是Origin,表示该请求的请求源(origin),即发自哪个域名。 正是因为有了Origin这个字段,所以WebSocket才没有实行同源政策。
最初,它的含义是指,A网页设置的 Cookie,B网页不能打开,除非这两个网页"同源"。所谓"同源"指的是"三个相同"。...由此可见,"同源策略"是必需的,否则 Cookie 可以共享,互联网就毫无安全可言了。 1.3 限制范围 随着互联网的发展,"同源政策"越来越严格。目前,如果非同源,共有三种行为受到限制。... 同源政策规定,AJAX请求只能发给同源的网址,否则就报错。 ...cors是一个w3c标准,它允许浏览器(目前ie8以下还不能被支持)像我们不同源的服务器发出xmlHttpRequest请求,我们可以继续使用ajax进行请求访问) 本文中我们使用第三种方式来解决在...前端发出Ajax请求访问Springboot(如在http://127.0.0.1:8086web项目中访问http://127.0.0.1:8866)服务时,Ajax跨域请求报错如下: $.ajax(
如果你之前使用过XMLHttpRequest(即俗称的ajax)或是其他的网络API,那么Fetch用起来将会相当容易上手。...发起网络请求 要从任意地址获取内容的话,只需简单地将网址作为参数传递给fetch方法即可(fetch这个词本身也就是获取的意思): fetch('https://mywebsite.com/mydata.json...') Fetch还有可选的第二个参数,可以用来定制HTTP请求一些参数。...默认情况下,iOS会阻止所有非HTTPS的请求。如果你请求的接口是http协议,那么首先需要添加一个App Transport Securty的例外,或者干脆完全禁用ATS,详细可参考这篇帖子。...://mywebsite.com/endpoint/'); request.send(); 需要注意的是,安全机制与网页环境有所不同:在应用中你可以访问任何网站,没有跨域的限制。
查看HTTP请求的头信息,会发现IE实际查询的网址是"http://zh.wikipedia.org/wiki/%E6%98%A5%E8%8A%82"。...四、情况3:Get方法生成的URL包含汉字 前面说的是直接输入网址的情况,但是更常见的情况是,在已打开的网页上,直接用Get或Post方法发出HTTP请求。...五、情况4:Ajax调用的URL包含汉字 前面三种情况都是由浏览器发出HTTP请求,最后一种情况则是由Javascript生成HTTP请求,也就是Ajax调用。...假定前面你都看懂了,那么此时你应该会感到很头痛。因为,实在太混乱了。不同的操作系统、不同的浏览器、不同的网页字符集,将导致完全不同的编码结果。如果程序员要把每一种结果都考虑进去,是不是太恐怖了?...有没有办法,能够保证客户端只用一种编码方法向服务器发出请求? 回答是有的,就是使用Javascript先对URL编码,然后再向服务器提交,不要给浏览器插手的机会。
查看HTTP请求的头信息,会发现IE实际查询的网址是“http://zh.wikipedia.org/wiki/%E6%98%A5%E8%8A%82 ”。...四、情况3:Get方法生成的URL包含汉字 前面说的是直接输入网址的情况,但是更常见的情况是,在已打开的网页上,直接用Get或Post方法发出HTTP请求。...五、情况4:Ajax调用的URL包含汉字 前面三种情况都是由浏览器发出HTTP请求,最后一种情况则是由Javascript生成HTTP请求,也就是Ajax调用。...假定前面你都看懂了,那么此时你应该会感到很头痛。因为,实在太混乱了。不同的操作系统、不同的浏览器、不同的网页字符集,将导致完全不同的编码结果。如果程序员要把每一种结果都考虑进去,是不是太恐怖了?...有没有办法,能够保证客户端只用一种编码方法向服务器发出请求? 回答是有的,就是使用Javascript先对URL编码,然后再向服务器提交,不要给浏览器插手的机会。
,但是一般是够用了 那么我们就可以利用它这一特性来实现跨域,看标题就知道是使用 window.name 和 iframe ,那么你能想到要如何投机取巧,哦不,是巧妙的规避跨域而不留痕迹吗?...来操作 DOM 而更新页面 这其中最关键的一步就是从服务器获得请求数据,即用户的请求间接通过 Ajax 引擎发出而不是通过浏览器直接发出,同时 Ajax 引擎也接收服务器返回响应的数据,所以不会导致浏览器上的页面全部刷新...,全称是 跨域资源共享(Cross-origin resource sharing) 它允许浏览器向跨源服务器,发出 XMLHttpRequest 请求,从而克服了 AJAX 只能同源使用的限制 CORS...这个请求是用来询问的 浏览器会先询问服务器,当前网页所在的域名是否在服务器的许可名单之中,以及可以使用哪些HTTP动词和头信息字段,只有得到肯定答复,浏览器才会发出正式的 XMLHttpRequest...,单位为秒,上面结果中,有效期是20天(1728000秒),即允许缓存该条回应20天,在此期间如果你再次发出了这个接口请求,就不用发预检请求了,节省服务端资源 常见的跨域预检请求抛错 对于我们开发时,在跨域中最容易碰钉子的地方就是预检请求
如果服务器不需要先前信息,那么它的应答就比较快。但是缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大,此时可以设置缓存。...HTTPS 的全称是 Hyper Text Transfer Protocol over Secure Socket Layer,是以安全为目标的 HTTP 通道,简单讲是 HTTP 的安全版,即 HTTP...S其实是Security单词的首字母。 HTTPS 的安全基础是 SSL,因此通过它传输的内容都是经过 SSL 加密的,它的主要作用可以分为两种: 是建立一个信息安全通道,来保证数据传输的安全。...例如:谷歌从 2017 年 1 月推出的 Chrome 56 开始,对未进行 HTTPS 加密的网址链接亮出风险提示,即在地址栏的显著位置提醒用户“此网页不安全”。 ?...Request Request,即请求,由客户端向服务端发出。