導航:首頁 > 編程語言 > phphttpsheader

phphttpsheader

發布時間:2023-03-13 18:15:40

php curl中CURLOPT_HTTPHEADER 這個參數的含義

php curl中CURLOPT_HTTPHEADER 這個參數的含義是:CURLOPT_HTTPHEADER 一個用來設置HTTP頭欄位的數組。Content-Type 表示後面的文檔屬於什麼MIME類型。charset表示瀏覽器可接受的字元集。

HTTP頭Servlet默認為text/plain,但通常需要顯式地指定為text/html。由於經常要設置Content-Type,因此HttpServletResponse提供了一個專用的方法setContentType。

HTTP請求頭的部分類型:

1、Accept:瀏覽器可接受的MIME類型。

2、Accept-Charset:瀏覽器可接受的字元集。

3、Accept-Encoding:瀏覽器能夠進行解碼的數據編碼方式,比如gzip。Servlet能夠向支持gzip的瀏覽器返回經gzip編碼的HTML頁面。許多情形下這可以減少5到10倍的下載時間。

4、Connection:表示是否需要持久連接。如果Servlet看到這里的值為「Keep-Alive」,或者看到請求使用的是HTTP 1.1(HTTP 1.1默認進行持久連接),它就可以利用持久連接的優點,當頁麵包含多個元素時(例如Applet,圖片),顯著地減少下載所需要的時間。

5、Content-Length:表示請求消息正文的長度。

6、Cookie:這是最重要的請求頭信息之一。

(1)phphttpsheader擴展閱讀:

PHP中的CURL函數庫(部分):

1、curl_setopt_array — 為cURL傳輸會話批量設置選項

2、curl_setopt — 設置一個cURL傳輸選項

3、curl_close — 關閉一個cURL會話

4、curl__handle — 復制一個cURL句柄和它的所有選項

5、curl_errno — 返回最後一次的錯誤號

6、curl_error — 返回一個保護當前會話最近一次錯誤的字元串

7、curl_escape — 使用 URL 編碼給定的字元串

在實際的使用當中,使用得最多的函數是curl_setopt — 設置一個cURL傳輸選項說明:bool curl_setopt ( resource $ch , int $option , mixed $value )其中,ch 由 curl_init() 返回的 cURL 句柄。option 表示的是需要設置的CURLOPT_XXX選項。

option的可選參數:

1、CURLOPT_BUFFERSIZE 每次獲取的數據中讀入緩存的大小,但是不保證這個值每次都會被填滿。在cURL 7.10中被加入。

2、CURLOPT_CLOSEPOLICY 不是CURLCLOSEPOLICY_LEAST_RECENTLY_USED就是CURLCLOSEPOLICY_OLDEST,還存在另外三個CURLCLOSEPOLICY_,但是cURL暫時還不支持。

3、CURLOPT_CONNECTTIMEOUT 在發起連接前等待的時間,如果設置為0,則無限等待。

⑵ jsp中request.getHeader()獲取客戶端的各種信息,那php中什麼方法來獲取

伺服器變數 $_SERVER 詳解:

1、$_SESSION['PHP_SELF'] -- 獲取當前正在執行腳本的文件名

2、$_SERVER['SERVER_PROTOCOL'] -- 請求頁面時通信協議的名稱和版本。例如,「HTTP/1.0」。

3、$_SERVER['REQUEST_TIME'] -- 請求開始時的時間戳。從 PHP 5.1.0 起有效。和time函數效果一樣。

4、$_SERVER['argv'] -- 傳遞給該腳本的參數。我試了下,get方法可以得到$_SERVER['argv'][0];post方法無法給他賦值。

5、$_SERVER['SERVER_NAME'] -- 返回當前主機名。

6、$_SERVER['SERVER_SOFTWARE'] -- 伺服器標識的字串,在響應請求時的頭信息中給出。 如Microsoft-IIS/6.0

7、$_SERVER['REQUEST_METHOD'] -- 訪問頁面時的請求方法。例如:「GET」、「HEAD」,「POST」,「PUT」。

8、$_SERVER['QUERY_STRING'] -- 查詢(query)的字元串(URL 中第一個問號 ? 之後的內容)。

9、$_SERVER['DOCUMENT_ROOT'] -- 當前運行腳本所在的文檔根目錄。在伺服器配置文件中定義。 如E:\server

10、$_SERVER['HTTP_ACCEPT'] -- 當前請求的 Accept: 頭信息的內容。

11、$_SERVER['HTTP_ACCEPT_CHARSET'] -- 當前請求的 Accept-Charset: 頭信息的內容。例如:「iso-8859-1,*,utf-8」。

12、$_SERVER['HTTP_ACCEPT_ENCODING'] -- 當前請求的 Accept-Encoding: 頭信息的內容。例如:「gzip」。

13、$_SERVER['HTTP_ACCEPT_LANGUAGE'] -- 當前請求的 Accept-Language: 頭信息的內容。例如:「en」。

14、$_SERVER['HTTP_CONNECTION'] -- 當前請求的 Connection: 頭信息的內容。例如:「Keep-Alive」。

15、$_SERVER['HTTP_HOST'] -- 當前請求的 Host: 頭信息的內容。

16、$_SERVER['HTTP_REFERER'] -- 鏈接到當前頁面的前一頁面的 URL 地址。

17、$_SERVER['HTTP_USER_AGENT'] -- 返回用戶使用的瀏覽器信息。也可以使用 get_browser() 得到此信息。

18、$_SERVER['HTTPS'] -- 如果通過https訪問,則被設為一個非空的值,否則返回off.

19、$_SERVER['REMOTE_ADDR'] -- 正在瀏覽當前頁面用戶的 IP 地址。

20、$_SERVER['REMOTE_HOST'] -- 正在瀏覽當前頁面用戶的主機名。反向域名解析基於該用戶的 REMOTE_ADDR。如本地測試返回127.0.0.1

21、$_SERVER['REMOTE_PORT'] -- 用戶連接到伺服器時所使用的埠。我在本機測試沒通過,不知道什麼原因。

22、$_SERVER['SCRIPT_FILENAME'] -- 當前執行腳本的絕對路徑名。如返回E:\server\index.php

23、$_SERVER['SERVER_ADMIN'] -- 該值指明了 Apache 伺服器配置文件中的 SERVER_ADMIN 參數。如果腳本運行在一個虛擬主機上,則該值是那個虛擬主機的值

24、$_SERVER['SERVER_PORT'] -- 伺服器所使用的埠。默認為「80」。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 埠。

25、$_SERVER['SERVER_SIGNATURE'] -- 包含伺服器版本和虛擬主機名的字元串。

26、$_SERVER['PATH_TRANSLATED'] -- 當前腳本所在文件系統(不是文檔根目錄)的基本路徑。這是在伺服器進行虛擬到真實路徑的映像後的結果。 Apache 2 用 戶可以使用 httpd.conf 中的 AcceptPathInfo On 來定義 PATH_INFO。

27、$_SERVER['SCRIPT_NAME'] -- 包含當前腳本的路徑。這在頁面需要指向自己時非常有用。__FILE__ 包含當前文件的絕對路徑和文件名(例如包含文件)。

28、$_SERVER['REQUEST_URI'] -- 訪問此頁面所需的 URI。例如,「/index.html」。

29、$_SERVER['PHP_AUTH_DIGEST'] -- 當作為 Apache 模塊運行時,進行 HTTP Digest 認證的過程中,此變數被設置成客戶端發送的「Authorization」HTTP 頭內容(以便作進一步的認證操作)。

30、$_SERVER['PHP_AUTH_USER']-- 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的用戶名。

31、$_SERVER['PHP_AUTH_PW'] -- 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的密碼。

32、$_SERVER['AUTH_TYPE']--當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是認證的類型。

⑶ 微信小程序header頭信息application/json處理數據php端如何接受

微信小程序中wx.request所調用域名是有嚴格規定的,不是隨便用個url就行的,下面是官方文檔的說明:

每個微信小程序需要事先設置一個通訊域名,小程序只可以跟指定的域名與進行網路通信。包括普通 HTTPS 請求(request)、上傳文件(uploadFile)、下載文件(downloadFile) 和 WebSocket 通信(connectSocket)

配置流程

伺服器域名請在 「小程序後台-設置-開發設置-伺服器域名」 中進行配置,配置時需要注意:

⑷ 為什麼說PHP是首選的Web開發語言

作者:2gua
鏈接:https://zhuanlan.hu.com/p/19904737
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

1. PHP是為Web而生的,天然與HTML、JavaScript有親近感,也就是原生味兒十足。即使是PHP與HTML代碼混雜,從某種角度而言,也能幫助初學者直觀地了解Web技術機理,壞事有時候也是好事。另一方面,開源PHP的C風格、Unix/Linux范兒讓其在Apache、Nginx等Web應用伺服器上表現優異。總之,PHP與Web是渾然天成的結合方式。
2. 要掌握PHP,我建議從備受詬病的「代碼凌亂」編程風格 -- 或許是從PHP與HTML混合編程開始,待直觀了解Web開發技術之後,再考慮代碼組織和結構的重構,這樣有助於自己以更加原生的方式掌握Web的秘密。那麼,什麼是更加原生的方式呢?隨手舉個例子:典型的404狀態碼。
用PHP的實現(404.php、404.html):

<?php
header("HTTP/1.1 404 Not Found");
include("404.html");
exit;
?>

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
</head>
<body>
<p>404頁面。</p>
</body>
</html>

再看看如http://ASP.NET MVC中的實現:
public ActionResult Details(int id)
{
return HttpNotFound();
}

雖然封裝得很好,但是,跟PHP方式比較就知道,http://ASP.NET MVC中的實現確實比較抽象不夠直觀,而且是在控制器里直接定義和跳轉的。在PHP中,顯而易見,一下就明白了代碼中header的含義:HTTP-Version、Status-Code、Reason-Phrase。
順帶說說Rails中的處理方式,抽象程度也很高:
render :template => '......', :status => 404

3. 與PHP類似的還有JSP,但JSP往往需要與JEE其他技術模塊相配合使用,體系足夠龐大,需要有長期准備。其他如http://ASP.NET MVC、Rails等框架的抽象度較高,也不建議作為首選。
4. 不得不提Node.js,Node.js是目前很火的技術,號稱「全棧」的希望所在,常拿來跟PHP爭論比較:什麼並發、線程、進程等等。在這里無意評論孰優孰劣,但至少PHP可以讓你多掌握一門技術,而不止是JavaScript。此外,PHP的大型業務的成熟應用案例可是比比皆是吖。
5. 那麼,是不是該一直堅持指哪打哪的「代碼凌亂」方式呢?當然不應該。PHP提供的OOP特性足夠強大,在技能與理解程度達到一定高度時,完全可以以OOP的方式來組織代碼。在PHP領域,各種框架非常多,比如Laravel、CI、FuelPHP、Yii、Symfony、Zend Framework等等,屆時隨便選一個都可以進行規范化開發。「代碼凌亂」關鍵不在於工具本身,而在於人自己!要知道用Java也能寫出爛代碼。
6. PHP的資料非常豐富。

7. 最後,有一個稍稍題外話的看法,早前我還覺得在RESTful方式不斷普及下,由於RESTful Web Services使用標準的 HTTP 方法(GET/PUT/POST/DELETE)來抽象Web服務能力,服務端的重點將移至MC,而服務端視圖模版的應用會減少,客戶端的支撐需求會越來越多。比如各種前端庫、框架將得到快速推進,越來越多的需求處理會前置到前端來處理。但現在我感覺這種狀態考慮得太過理想了,就像數據頻繁大量更迭及處理的場景,更適合服務端(如模版引擎)完成;再具體地,又如大數據量的分頁,如果都在瀏覽器中實現,性能就一定會有很大問題。此外,頻繁Ajax調用、客戶端緩存機制的缺失,也將引起種種問題,再進一步來看,單頁面應用(SPA)也就並非適合每一個業務場景,服務端視圖模版還是有比較多的適用領域的。

⑸ php 伺服器變數$_SERVER 伺服器環境變數 $_ENV

PHP  $_SERVER 變數

$_SERVER 是一個包含諸如頭信息(header)、路徑(path)和腳本位置(script locations)的數組。它是 PHP 中一個超級全局變數,我們可以在 PHP 程序的任何地方直接訪問它。

$_SERVER 包含著眾多的信息,你可以嘗試直接列印它:

print_r($_SERVER);

$_SERVER 數組元素

更多情況下,我們只需要 $_SERVER 數組中的某些元素(數組單元)。$_SERVER 數組包含的元素如下:

頁面程序相關

$_SERVER[『PHP_SELF』]:相對於網站根目錄的路徑及 PHP 程序名稱,與 document root 相關。

$_SERVER[『HTTP_REFERER』]:鏈接到當前頁面的前一頁面的 URL 地址。

$_SERVER[『SCRIPT_NAME』]:相對於網站根目錄的路徑及 PHP 程序文件名稱 。

$_SERVER[『REQUEST_URI』]:訪問此頁面所需的 URI 。

$_SERVER[『SCRIPT_FILENAME』]:當前運行 PHP 程序的絕對路徑及文件名。

$_SERVER[『PATH_TRANSLATED』]:當前 PHP 程序所在文件系統(不是文檔根目錄)的基本路徑。

$_SERVER[『QUERY_STRING』]:查詢(query)的字元串(URL 中第一個問號 ? 之後的內容但不包括 # 後面的內容)。

$_SERVER[『argv』]:傳遞給當前 PHP 程序的參數。

$_SERVER[『argc』]:命令行模式下,包含傳遞給程序的命令行參數的個數。

$_SERVER[『REQUEST_TIME』]:請求開始時的時間戳,從 PHP 5.1.0 起有效。

$_SERVER[『REQUEST_METHOD』]:訪問頁面時的請求方法,例如:「GET」、「HEAD」,「POST」或「PUT」。

$_SERVER[『HTTP_ACCEPT』]:當前請求的 Accept: 頭信息的內容。

$_SERVER[『HTTP_ACCEPT_CHARSET』]:當前請求的 Accept-Charset: 頭信息的內容。例如:「iso-8859-1,*,utf-8」。

$_SERVER[『HTTP_ACCEPT_ENCODING』]:當前請求的 Accept-Encoding: 頭信息的內容。例如:「gzip」。

$_SERVER[『HTTP_ACCEPT_LANGUAGE』]:當前請求的 Accept-Language: 頭信息的內容。例如:「zh-cn」。

$_SERVER[『HTTP_CONNECTION』]:當前請求的 Connection: 頭信息的內容。例如:「Keep-Alive」。

$_SERVER[『HTTP_HOST』]:當前請求的 Host: 頭信息的內容。

$_SERVER[『HTTPS』]:如果 PHP 程序是通過 HTTPS 協議被訪問,則被設為一個非空的值。

$_SERVER[『PHP_AUTH_DIGEST』]:當作為 Apache 模塊運行時,進行 HTTP Digest 認證的過程中,此變數被設置成客戶端發送的「Authorization」HTTP 頭內容(以便作進一步的認證操作)。

$_SERVER[『PHP_AUTH_USER』]:當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的用戶名。

$_SERVER[『PHP_AUTH_PW』]:當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的密碼。

$_SERVER[『AUTH_TYPE』]:當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是認證的類型。

伺服器端相關

$_SERVER[『DOCUMENT_ROOT』]:當前運行 PHP 程序所在的文檔根目錄,在伺服器配置文件中定義。

$_SERVER[『GATEWAY_INTERFACE』]:伺服器使用的 CGI 規范的版本,例如:「CGI/1.1」。

$_SERVER[『SERVER_ADDR』]:當前運行 PHP 程序所在的伺服器的 IP 地址。

$_SERVER[『SERVER_NAME』]:當前運行 PHP 程序所在的伺服器的名稱。

$_SERVER[『SERVER_ADMIN』]:Apache 伺服器配置文件中的 SERVER_ADMIN 參數。

$_SERVER[『SERVER_PORT』]:伺服器所使用的埠。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 埠。

$_SERVER[『SERVER_SIGNATURE』]:包含伺服器版本和虛擬主機名的字元串。

$_SERVER[『SERVER_SOFTWARE』]:伺服器標識的字串,在響應請求時的頭信息中給出。

$_SERVER[『SERVER_PROTOCOL』]:請求頁面時通信協議的名稱和版本,例如:「HTTP/1.0」。

其他雜項

$_SERVER[『HTTP_USER_AGENT』]:當前請求的 User-Agent: 頭信息的內容,該字元串表明了訪問該頁面的用戶代理的信息。

$_SERVER[『REMOTE_ADDR』]:正在瀏覽當前頁面用戶的 IP 地址。

$_SERVER[『REMOTE_HOST』]:正在瀏覽當前頁面用戶的主機名。

$_SERVER[『REMOTE_PORT』]:用戶連接到伺服器時所使用的埠。

注意,如果以命令行方式運行 PHP,上面列出的元素幾乎沒有有效的(或是沒有任何實際意義的)。

PHP $_ENV 變數

$_ENV 是一個包含伺服器端環境變數的數組。它是 PHP 中一個超級全局變數,我們可以在 PHP 程序的任何地方直接訪問它。

$_ENV 只是被動的接受伺服器端的環境變數並把它們轉換為數組元素,你可以嘗試直接列印它:

print_r($_ENV);

限於篇幅,在此不再列出列印的結果,且不同的伺服器上,列印出的結果可能是完全不同的。

$_ENV 數組元素

$_ENV 數組中的元素(數組單元)隨伺服器環境不同而有較大差異,所以無法像 $_SERVER 那樣列出完整的列表。以下是 $_ENV 數組包含的比較通用的元素:

$_SERVER[『PATH』]:環境變數 PATH 路徑。

$_SERVER[『CLASSPATH』]:系統 CLASSPATH 路徑。

$_SERVER[『LIB』]:系統 LIB 庫路徑。

$_SERVER[『INCLUDE』]:系統 Include 路徑,注意與 PHP 的包含路徑是不一樣的。

$_SERVER[『OS』]:操作系統類型。

$_SERVER[『LANG』]:系統語言,如 en_US 或 zh_CN。

$_SERVER[『PWD』]:當前工作目錄。

$_SERVER[『TEMP』]:系統 TEMP 路徑。

$_SERVER[『AP_PARENT_PID』]:當前進程 ID 號。

$_SERVER[『NUMBER_OF_PROCESSORS』]:系統 CPU 數目。

$_ENV 為空的原因及解決辦法

如果列印輸出 $_ENV 為空,可以檢查一下 php.ini 的配置:

variables_order = "EGPCS"

上述配置表示 PHP 接受的外部變數來源及順序,EGPCS 是 Environment、Get、Post、Cookies 和 Server 的縮寫。如果 variables_order 的配置中缺少 E ,則 PHP 無法接受環境變數,那麼 $_ENV 也就為空了。

⑹ php cookie 取消httponly

php cookie 取消httponl
利用HttpResponse的addHeader方法,設置Set-Cookie的值

cookie字元串的格式:key=value; Expires=date; Path=path; Domain=domain; Secure; HttpOnly
//設置cookie

response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly");

//設置多個cookie

response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly");

response.addHeader("Set-Cookie", "timeout=30; Path=/test; HttpOnly");

//設置https的cookie

response.addHeader("Set-Cookie", "uid=112; Path=/; Secure; HttpOnly");

在實際使用中,我們可以使FireCookie查看我們設置的Cookie 是否是HttpOnly

閱讀全文

與phphttpsheader相關的資料

熱點內容
雲伺服器遷移後 瀏覽:260
excel格式轉換pdf 瀏覽:987
登錄器一般存在哪個文件夾 瀏覽:535
中興光貓機器碼演算法 瀏覽:330
android響應時間測試 瀏覽:940
java編程思想第四版答案 瀏覽:888
如何對nbt編程 瀏覽:885
mscpdf 瀏覽:948
文件夾d盤突然0位元組可用 瀏覽:272
吃火腿腸的解壓場面 瀏覽:339
衛星鍋加密教程 瀏覽:792
php7的特性是什麼 瀏覽:469
編譯類高級語言源代碼運行過程 瀏覽:177
科普中國app怎麼分享 瀏覽:87
51單片機與32單片機比較 瀏覽:422
SQL加密存儲解密 瀏覽:507
電氣工程師把程序加密 瀏覽:797
解壓切東西動畫版 瀏覽:965
點到橢圓的距離演算法 瀏覽:388
新的編譯系統 瀏覽:533