PHP 3, PHP 4, PHP 5。自 PHP 4.3.0 起支援 https://
http://example.com
http://example.com/file.php?var1=val1&var2=val2
http://user:password@example.com
https://example.com
https://example.com/file.php?var1=val1&var2=val2
https://user:password@example.com
容許通過 HTTP 1.0 使用 HTTP GET 方法對檔案/資源進行唯讀訪問。Host:
報頭也會通過請求傳送出去以支援基於功能變數名的虛擬主電腦。若果在 ini
檔案或是流上下文配置了 user_agent
字串,也會被內含在請求報頭中。
警示 |
當使用
SSL 時,Microsoft IIS 將違反協定不傳送 close_notify 旗標就關閉連線。PHP
將在到達資料尾端時報告 "SSL: Fatal Protocol Error"。要繞過此問題,應將
error_reporting 層級降低為不內含警示。PHP
4.3.7 及更高版本可以在當使用 https:// 封裝協定開啟流的時候檢驗出有此問題的
IIS 伺服器並抑制警示。若果使用 fsockopen()
來建立一個 ssl:// 套接字,則需要自己檢驗並抑制警示訊息。 |
自 PHP 4.0.5 起支援重定向。若果使用較早版本的 PHP 則需要在 URL
末尾內含一個斜線。若果一定要知道文件所在的資源的
url(在所有重定向被處理過之後),則需要處理從流返回的一系列響應報頭訊息。
流容許訪問資源的正文,報頭部分儲存在
$http_response_header 變量中。自
PHP 4.3.0 起,可以用
stream_get_meta_data() 得到報頭。
HTTP 連線是唯讀的,不能將資料寫入或是複製檔案到 HTTP 資源。
注:
自 PHP 4.3.0 起開始支援 HTTPS,需要在編譯時加入 OpenSSL 的支援。
表格 M-3. 上下文選項
名稱 | 用法 | 預設值 |
---|
method | GET、POST
或任何其它被遠端伺服器支援的 HTTP 模式。 | GET |
header |
請求中要傳送的附加的頭訊息。此選項中的值將覆蓋其它值(例如
User-agent:,Host: 和
Authentication:)。
| |
user_agent |
在 User-Agent: 頭訊息中要傳送的值。此值僅用於沒有在上面
header 的上下文選項中指定 user-agent 時。
|
php.ini 設定:user_agent
|
content |
頭訊息之後要傳送的附加資料。典型用於 POST 或 PUT 請求。
| |
proxy |
以 URI 格式特殊的代理伺服器(例如
tcp://proxy.example.com:5100)。HTTPS
代理(通過 HTTP 代理伺服器)僅在 PHP 5.1.0 或更高版本可用。
| |
request_fulluri |
設定為 TRUE 時,建立請求時整個 URI 將被使用。(即
GET http://www.example.com/path/to/file.html HTTP/1.0)。
而這是一個非標準請求格式,某些代理伺服器需要它。
| FALSE |
max_redirects |
連續重定向的最大值。從 PHP 5.1.0 開始存在。
| 20 |
底層的套接字流(socket stream)上下文選項:
有可能通過底層傳輸(underlying transport)支援附加的上下文選項。對於
http:// 流,參考
tcp:// 傳輸的上下文選項。對於
https:// 流,參考
ssl:// 傳輸的上下文選項。