域名系统DNS以及跨域问题
mail.cctv.com (从左到右依次是三级域名.二级域名.顶级域名)
$('#search_input').on('keyup',function(event){
var searText=$('#search_input').val();
$.ajax({
type:'get',
async:true,
dataType:'jsonp',
jsonp:'cb',
url:'http://api.bing.com/qsonhs.aspx?type=cb&q='+searchText,
success:function(data){
var data=data.AS.Results[].Suggests;
var html='';
for(var i=;i<data.length;i++){
html+='<li>'+data[i].Txt+'</li>';
}
$('#search-result').html(html);
$('#search-suggest').show().css({
top:$('#search-form').offset().top+$('#search-form').height()+;
})
}
})
})
res.setHeader('Access-Control-Allow-Methods','PUT')//access-control-allow-methods:预检请求的应答中明确了客户端所要访问的资源允许使用的方法或方法列表
res.setHeader('Access-Control-Max-Age',)//响应的首部表示预检请求的返回结果可以被缓存多久
//响应首部Access-Control-Allow-Headers:预检请求,列出了将会在正式请求中access-control-headers字段中出现的首部信息
if(req.method==='OPTIONS'){
req.end()
}
app.put('/getData',function(req,res){
console.log(req.headers);
res.end('hello');
})
let xhr=new XMLHttpRequest()
document.cookie='name=hello'//cookie不能跨域
xhr.withCredentials=true;
//一个boolean类型,指示了是否该使用类似cookies,authorization headers或者TLS客户端证书这一类资格证书来创建一个跨站点访问控制请求。在同一个站点下使用withCredentials属性是无效的
xhr.open('PUT','http://localhost:4000/heoo',true)
xhr.setRequestHeader('name','yuanq')
xhr.onreadystatechange=function(){
if(xhr.readyState===4){
if((xhr.status>=200&&xhr.status<300)||xhr.status===304)
{
console.log(xhr.response);
console.log(xhr.getResponseHeader('name'));
}
}
}
xhr.send()
//server1.js
let express=require('express');
let app=express();
app.use(express.static(_dirname));
app.listen(3000)
let express=require('express');
let app=express();
let whitList=['http://localhost:3000']
//设置白名单
app.use(function(req,res,next){
let origin=req.headers.origin
if(whiteList.includes(origin)){
//设置可以访问的源
res.setHeader('Access-Control-Origin',origin)
//允许携带哪个头访问我
res.setHeader('Access-Control-Headers','name')
//允许哪个方法可以访问我
res.setHeader('Access-Control-Allow-Methods','PUT')
//允许哪个携带cookie
res.setHeader('Access-Control-Allow-Credentials',true)
//预检的存活时间
res.setHeader('Access-Control-Max-Age',6)
//允许返回头
res.setHeader('Access-Control-Expose-Headers','name')
if(req.method==='OPTIONS'){
res.end()
}
}
next()
})
app.put('/getData',function(req,res){
console.log(req.headers);
res.setHeader('name','jeo')
res.end('hello')
})
app.get('/getData',function(req,res){
console.log(req.headers);
res.end('hello')
})
app.use(express.static(_dirname))
app.listen(5000)
<script>
let socket=new WebSocket('ws://localhost:233');
socket.onopen=function(){
socket.send('hl')
}
socket.onmessage=function(e){
console.log(e.data); } </script>
//服务器端
let express=require('express');
let app=express();
let WebSocket= require('nodejs-websocket')
let wss=new WebSocket.Server({port:})
wss.on('connection',function(ws){
ws.on('message',function(data){
console.log(data);
ws.send('hell')
})
})
域名系统DNS以及跨域问题的更多相关文章
- MassDNS:跨域DNS枚举工具
MassDNS:跨域DNS枚举工具 simeon 原文地址:http://offsecbyautomation.com/Use-MassDNS/ 工具地址:https://github.com/ble ...
- 跨域之URL
在介绍怎么跨域之前,先来弄清楚一个概念:URL.以下内容摘自维基百科. 统一资源定位符(或称统一资源定位器/定位地址.URL地址等,英语:Uniform / Universal Resource Lo ...
- JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- 跨域的jsonP
1.出现原因:因为web中的同源策略(域名,协议,端口号)限制了跨域访问. 2.区别于json (个人理解)json是数据交换格式,jsonp是数据通信中的交互方式 3.jsonp的get与p ...
- JavaScript权威设计--跨域,XMLHttpRequest(简要学习笔记十九)
1.跨域指的是什么? URL 说明 是否允许通信 http://www.a.com/a.jshttp://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a. ...
- JavaScript学习总结(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- 关于域名系统DNS解析IP地址的一些总结
关于域名系统DNS(Domain Name System) 从域名中解析出IP地址. DNS主要由3部分组成: ① 名称解析器(resolver) ② 域名空间(domain name space) ...
- Ajax跨域:Jsonp原理解析
推荐先看下这篇文章:JS跨域(ajax跨域.iframe跨域)解决方法及原理详解(jsonp) JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重 ...
- JSONP跨域的原理解析( 一种脚本注入行为)
JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制, 被称为“some-Origin Policy”(同源策略).这一策略对于Jav ...
随机推荐
- 深度学习(一)——CNN算法流程
深度学习(一)——CNN(卷积神经网络)算法流程 参考:http://dataunion.org/11692.html 0 引言 20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感 ...
- winform里面的Form1.Designer.cs
Program.cs是程序入口,也就是Main函数.Form1.cs是实现功能的代码,包括你的自定义方法和事件.Form1.Designer.cs是你的画面的设计代码,一般由系统自动生成,也可以手动修 ...
- 从内部入手,浅谈malloc和new的区别
想要理解一样事物,就要先用自己的语言去描述一件事物.在我查阅资料后,发现malloc函数简单说来就是空闲内存空间收集器,并把空闲空间关联起来,用术语来说就是:将空闲内存块合并起来并称为"闲置 ...
- C# 反射获取属性类型及属性值,两个实体转换
一.两个实体数据转换 /// <summary> /// 为属性赋值 /// </summary> /// <typeparam name="T"&g ...
- 使用plot_importance绘制特征重要性曲线
代码如下所示: # -*- coding: utf-8 -*- #导入需要的包 import matplotlib.pyplot as plt from sklearn import datasets ...
- IntelliJ IDEA 打开项目红色
项目目录红色主要是有版本控制所导致的,解决办法就是解除版本控制 点击File->Settings...->Version Control 项目会重新编译,项目目录红色会消失
- Jmeter5.1.1构造https请求
1.打开浏览器,输入https的网址 2.点开浏览器前面的小锁 3.点开证书.详细信息.复制到文件 把证书保存到本地电脑 4.利用jdk中的keytool.exe工具,重新生成证书 C:\Java\j ...
- C#C/S框架演示 (MES系统)
之前做过一个MES系统,发一些里面的截图.如果有朋友也用这个框架.或者有兴趣可以一起学习学习.使用开发工具VS2013,数据库SqlServer2008和Oracle11C.插件dev15.2,开发模 ...
- jQuery+php+Ajax文章列表点击加载更多功能
jQuery+php+Ajax实现的一个简单实用的文章列表点击加载更多功能,点击加载更多按钮,文章列表加载更多数据,加载中有loading动画效果. js部分: <script type=&qu ...
- Burpsuite Sqlmap Nmap入门总结
burpsuite sqlmap nmap 简介 sqlmap基础 五种独特sql注入技术: 基于布尔类型的盲注 基于时间的盲注 基于报错注入 联合查询注入 堆查询注入 sqlmap入门 1.判断是否 ...