1. 程式人生 > >關於http的header()頭資訊示例

關於http的header()頭資訊示例

客戶端 按照原來的寫,你需要處理的是 服務端 響應頭的設定

1.第一步 設定響應頭

header('Access-Control-Allow-Origin:*');  //支援全域名訪問,不安全,部署後需要固定限制為客戶端網址

header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); //支援的http 動作

header('Access-Control-Allow-Headers:x-requested-with,content-type');  //響應頭 請按照自己需求新增。

2.第二部 瞭解IE chrome 等瀏覽器 

對於 跨域請求並要求設定Headers自定義引數的時候的 "預請求"   就是如果遇到 跨域並設定headers的請求,所有請求需要兩步完成!

A 第一步:傳送預請求 OPTIONS 請求。此時 伺服器端需要對於OPTIONS請求作出響應 一般使用202響應即可 不用返回任何內容資訊。(能看到這份手稿的人,本人不相信你後臺處理不了一個options請求)

B 第二步:伺服器accepted 第一步請求後 瀏覽器自動執行第二步 傳送真正的請求。此時 大多數人 會發現請求成功了,但是 有那麼幾個人會發現 請求成功了但是沒有任何資訊返回 why?因為你自定義的請求頭在伺服器響應中不存在!

檢視console輸出 會發現一個問題:

“Access-Control-Allow-Headers 列表中不存在請求標頭 XXXXXX”【IE】,

request header field xxxxxx is not allowed by Access-Control-Allow-Header【chrome】

這是因為 你的XXXX請求頭 沒有在伺服器端被允許哦~

遇到這個問題 只有通過修改伺服器端來完成,舉例:需要設定 requesttype這麼一個自定義頭,那麼 你需要在 服務端裡面 將header('Access-Control-Allow-Headers:x-requested-with,content-type,requesttype

');  同學們自行體會吧 這種語法就是根據“,”分割 自己需要設定什麼頭,必須要在 服務端請求的響應頭裡面設定好,不然客戶端永遠永遠提交不上去!

至此  JavaScript/ajax  跨域+ 修改httpheader 任務完美實現。

"人們都一直在抱怨 JavaScript同源策略限制了web前端的發展!然而是服務端做的不夠細緻!"

部分程式碼參考如下:程式碼只是提供了思想,具體步驟還要根據以上的文字 自行揣摩實現。以上內容看不懂 說明對於web一點也不瞭解,需要買本書看看嘍~

客戶端程式碼:


伺服器端程式碼


相關推薦

關於http的header()資訊示例

客戶端 按照原來的寫,你需要處理的是 服務端 響應頭的設定 1.第一步 設定響應頭 header('Access-Control-Allow-Origin:*');  //支援全域名訪問,不安全,部署後需要固定限制為客戶端網址 header('Access-Cont

easyPoi處理檔案下載檔名為空問題----請求資訊

導包:同上一篇匯出封裝請求引數 定義註解: import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import java.lang.annotation.*; /** * 匯出Excel註解. */ @Document

idea配置自動生成java檔案資訊

1.   操作流程:  Settings-> Editor -> File and Code Templates -> Class   2.  配置模板 2. 1 去掉 #parse("File Header.java")

apache iis 使用HTTP 響應資訊中的 X-Frame-Options屬性

原文:https://www.jb51.net/article/109436.htm 方法三:使用HTTP 響應頭資訊中的 X-Frame-Options屬性 使用 X-Frame-Options 有三個可選的值: DENY:瀏覽器拒絕當前頁面載入任何Frame頁面SAMEORIGIN:

servlet學習(二)request物件獲取請求資訊

一、作用 封存了當前請求的所有請求資訊 二、使用 獲取請求頭的資訊包括: 1.請求行:請求方式 請求URL/URI 協議版本 //獲取請求行 String method=req.getMethod(); StringBuffer url=req.get

檢測根目錄帶bom資訊的檔案

新建bom.php檔案,複製以下程式碼儲存。然後把檔案放到根目錄下,在瀏覽器訪問檢測是否有帶bom頭資訊的檔案存在:http://你的域名/bom.php?auto=0 如果想清除的話,請訪問:http://你的域名/bom.php?auto=1 <?php //remove th

day02 Pycharm自動添加註釋資訊

進入設定 File->settings->Editor->File and Code Templates->Python Script 新增以下程式碼: #!/usr/bin/env python3 # -*- coding: utf-8 -*- # @Author: fhb

PHP接收http請求資訊

1、PHP 自帶函式 getallheaders() 目前 getallheaders() 只能用於 apache 中。如果想在 nginx 中也能使用,可以使用自定義函式。 foreach (getallheaders() as $name => $value)

header請求資訊詳細介紹

https://www.byvoid.com/zhs/blog/http-keep-alive-header HTTP協議頭部與Keep-Alive模式詳解   1、什麼是Keep-Alive模式? 我們知道HTTP協議採用“請求-應答”模式,當使用普通模式,即非KeepAlive模式時,每

web.xml中Servlet3.1版本的資訊格式

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns="http://xmlns.jcp.org/xml/ns/java

HTML資訊標籤和標題標籤

<html> <!-- 頭資訊的作用 1. 可以設定網頁的標題。 2. 可以通知瀏覽使用指定的碼錶解釋html頁面. --> <head> <meta http-equiv="content-type" content="t

HTTP學習記錄:四、資訊(請求和響應)

學習資源主要為:@小坦克HTTP相關部落格 一、請求頭資訊(Request Header) 請求頭資訊包含比較多,如下: 1、Cache頭域   if-modified-Since   作用:把瀏覽器端快取頁面的最後修改時間傳送到伺服器去,伺服器會把這個時間與伺服器上的實際檔案的最後修改時間進行對比

接受http請求資訊(php)

文章來自:原始碼線上https://www.shengli.me/php/315.html   Php getallheaders函式   目前 getallheaders() 只能用於 apache 中。如果想在 nginx 中也能使用,可以使用自定義函式。

request資訊和獲取request資訊的方法

頭資訊描述 Accept這個頭資訊指定瀏覽器或其他客戶端可以處理的 MIME 型別。值 image/png 或 image/jpeg 是最常見的兩種可能值。 Accept-Charset這個頭資訊指定瀏覽器可以用來顯示資訊的字符集。例如 ISO-8859-1。

Feign傳遞請求資訊

在我之前的文章服務閘道器Spring Cloud Zuul中,將使用者的登入id放在了請求頭中傳遞給內部服務。但是當內部服務之間存在feign呼叫時,那麼請求頭資訊會在feign請求的時候傳遞嗎?不會,請求的頭資訊和請求引數都不會進行傳遞。但是我們可以通過通過實現RequestInterceptor介面,完成

servlet web.xml 3.1版本的資訊

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/

Mybatis 資訊

      在使用IDEA開發中,如果不使用Mybatis-Generator時,那麼就需要手寫Mapper檔案,而在建立xml檔案時無法直接建立帶有mybatis頭資訊的mapper檔案,這裡來記錄一下Mybatis 頭資訊: <?xml version="1.

HttpClient 傳送Post Get請求例子 包含設定請求資訊和獲取返回資訊

                package com.test.action;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.commons.httpclient.De

Servlet 獲取請求資訊和請求引數

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /* * 獲取請求報文頭

Maven建立SpringBoot parent標籤報錯或者資訊報錯解決

注:為了演示錯誤所以上下文出現的spring-boot-starter-parent版本不一致 報錯資訊1:   parent標籤報錯:   Project build error: Non-resolvable parent POM: Failure to find