当前位置: 首页 > news >正文

新网站seo怎么优化房价必涨的十大城市

新网站seo怎么优化,房价必涨的十大城市,专业seo外包,wordpress和dede哪个好Golang解决跨域问题 前置知识:跨域问题产生条件及原因 跨域是是因为浏览器的同源策略限制,是浏览器的一种安全机制,服务端之间是不存在跨域的。 所谓同源指的是两个页面具有相同的协议、主机和端口,三者有任一不相同即会产生跨域…

Golang解决跨域问题

前置知识:跨域问题产生条件及原因

跨域是是因为浏览器的同源策略限制,是浏览器的一种安全机制,服务端之间是不存在跨域的。

所谓同源指的是两个页面具有相同的协议、主机和端口,三者有任一不相同即会产生跨域。

解决

1 设置请求头

//1. 允许所有来源:不限IP
//2. 允许所有方法
//3. 允许请求头
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Methods", "GET, POST, OPTIONS, DELETE")
w.Header().Set("Access-Control-Allow-Headers", "Content-Type,Accept,yi-token")

2 处理预处理请求

w3c规范要求,当浏览器判定请求为复杂请求时,会在真实携带数据发送请求前,多一个预处理请求:

  1. 请求方法不是get head post
  2. post 的content-type不是application/x-www-form-urlencode,multipart/form-data,text/plain [也就是把content-type设置成"application/json"]
  3. 请求设置了自定义的header字段: 比如业务需求,传一个字段,方面后端获取,不需要每个接口都传
if r.Method == "OPTIONS" {//handle the preflight requestw.Header().Set("Access-Control-Allow-Origin", "*")w.Header().Set("Access-Control-Allow-Methods", "GET, POST, OPTIONS, DELETE")w.Header().Set("Access-Control-Allow-Headers", "Content-Type, Accept,yi-token")w.WriteHeader(http.StatusOK)return
}

3 允许自定义请求头

当我们有自定义请求头(如token)需要传递时,也需要在代码中设置

//允许yi-token在请求头中传递
w.Header().Set("Access-Control-Allow-Headers", "Content-Type,Accept,yi-token")

4 完整代码

package mainimport ("github.com/aobco/log""net/http""time"
)/*后端解决跨域问题
*/func main() {mux := http.NewServeMux()mux.Handle("/cros/smoke", interceptor(http.HandlerFunc(smoke)))http.ListenAndServe(":8080", mux)
}func smoke(w http.ResponseWriter, r *http.Request) {now := time.Now().String()_, err := w.Write([]byte(now))if err != nil {log.Errorf("%v", err)w.WriteHeader(http.StatusInternalServerError)return}return
}//拦截器
func interceptor(next http.Handler) http.Handler {return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {//resolve the cross origin[解决预请求]//w3c规范要求,当浏览器判定请求为复杂请求时,会在真实携带数据发送请求前,多一个预处理请求://1. 请求方法不是get head post//2. post 的content-type不是application/x-www-form-urlencode,multipart/form-data,text/plain [也就是把content-type设置成"application/json"]//3. 请求设置了自定义的header字段: 比如业务需求,传一个字段,方面后端获取,不需要每个接口都传if r.Method == "OPTIONS" {//handle the preflight requestw.Header().Set("Access-Control-Allow-Origin", "*")w.Header().Set("Access-Control-Allow-Methods", "GET, POST, OPTIONS, DELETE")w.Header().Set("Access-Control-Allow-Headers", "Content-Type, Accept,yi-token")w.WriteHeader(http.StatusOK)return}w.Header().Set("Access-Control-Allow-Origin", "*")w.Header().Set("Access-Control-Allow-Methods", "GET, POST, OPTIONS, DELETE")w.Header().Set("Access-Control-Allow-Headers", "Content-Type,Accept,yi-token")next.ServeHTTP(w, r)})
}
http://www.yayakq.cn/news/548085/

相关文章:

  • 做信息网站的盈利方式有哪些公司网站免费自建
  • 开发区网站开发语言erp项目管理软件
  • 汉化主题做网站效果图特色美食网站建设策划书
  • 网站改版建议策划书注册公司代理找哪家
  • 备案网站到期了怎么办制作微信公众号网站开发
  • 5分钟宣传片多少钱北京seo网络优化招聘网
  • 建设网站协议范本重庆市建设工程交易中心网站
  • 网页制作淘宝网站建设网页升级紧急大通知拿笔记本记好
  • 网站加载很慢怎么办网站建设客户需求调查表
  • 网站做淘宝客百度自己网站排名
  • 浅谈国内高校英文网站的建设现状建筑网站管桩进场验收规范
  • 技术支持 东莞网站建设家装科技词语
  • 淄博网站建设-中国互联展示网站方案
  • 旅游网站案例分析vps搭建vpn无法访问国内网站
  • 网站网站开发点击最多的网站
  • 手机网站建设课程教学企业推广建站
  • dedecms wap网站模板下载久雅科技软件开发外包
  • 网站建设实训要求北京网站建设方案建设公司
  • 静态网站论文目录外贸 国外推广网站
  • 成都学网站建设费用wordpress占用
  • 河南微网站开发简单的网页设计教程
  • 网站编辑的工作内容长沙品牌网站建设
  • 简单建站织梦制作网站如何上线
  • 网站建设包含内容域名绑定网站提示正在建设
  • 网页站点设计网页设计参考书籍
  • 网站顶部菜单下拉固定wordpress edd插件
  • 揭阳专业的网站建设价格怎么样制作一个公众号
  • 怎么做网站发布产品百度文库官网首页
  • 自己接单做网站什么是网站网页主页
  • 青岛建设网站的公司网页qq属于什么