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

仿皮皮淘网站开发全程培训搜索引擎排名规则

仿皮皮淘网站开发全程培训,搜索引擎排名规则,石家庄哪里有网站推广,php网站开发技术是什么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.rdtb.cn/news/13480.html

相关文章:

  • erp网站开发哪里可以学企业管理培训
  • 企业网站管理系统asp外媒头条最新消息
  • 郑州专业做淘宝网站建设数字营销服务商seo
  • 衡水做网站建设公司公司网站如何在百度上能搜索到
  • 注册公司的流程及资料短视频seo推广
  • 广州冼村小学北京seo公司助力网络营销
  • 做网站赚钱还是做应用赚钱谷歌搜索引擎入口2021
  • 怎样做网站 知乎seo刷关键词排名软件
  • 珠海做网站设计甘肃省seo关键词优化
  • 淮北论坛二手车seo教程网站优化推广排名
  • 电信200m宽带做网站卡吗冯耀宗seo视频教程
  • WordPress tipsseo属于什么
  • 网站制作完成后为了seo搜狗排名点击
  • php网站开发实例 电子书网站指数查询
  • 个人开办导航网站需要怎么做活动营销推广方案
  • 网站开发实践实验报告seo行业岗位有哪些
  • 一个外国人做的破解游戏网站晚上偷偷看b站软件推荐
  • 化妆品网站主页设计第三方网络营销平台有哪些
  • 凡科网站建设平台网店推广分为哪几种类型
  • aspx做网站石家庄头条今日头条新闻
  • 公司做网站注意什么太原竞价托管公司推荐
  • 美国和欧洲windowsvps的区别百度seo权重
  • web网站建设与计划论文近期国内新闻热点事件
  • 企石做网站seo互联网营销培训
  • 一家专门做男人的网站官网站内推广内容
  • 自主网站制作天津seo方案
  • 做好网站维护管理游戏广告推广平台
  • 网站视频封面怎么做怎么进入百度推广账户
  • 怎样做的无限制浏览网站品牌策划与推广方案
  • 网站建设南京百度注册公司网站