http協議解析介紹
http協議是個請求-應答模式的基於流的協議,下層走的是tcp協議。
主要是請求頭+請求內容
響應頭+響應內容的方式
我使用charls
類似c的socket程式設計
c的socket程式設計
get模組
function
get($url, array $get = array(), array $options = array())
post模組
function
post
($url, array $post = array(), array $options = array())
curl_close($ch);
return
$result;
}
cookie和session簡介與區別在非常多時候,我們需要跟蹤瀏覽者在整個**的活動,對他們身份進行自動或半自動的識別(也就是平時常說的**登陸之類的功能),這時候,我們常採用cookie與 session來跟蹤和判斷。
區別: session資訊是存放在server端,但session id是存放在client cookie的,當然php的session存放方法是多樣化的,這樣就算禁用cookie一樣可以跟蹤
cookie是完全保持在客戶端的如:ie firefox 當客戶端禁止cookie時將不能再使用
cookie的配置與應用
setcookie(string name, string value, int expire,string path, string domain, int secure);
其中name是cookie變數名稱標識,你在php中將能象使用普通變數名相同來用他引用cookie變數。
value是cookie變數的初始值,
expire 表示該cookie變數的有效時間;
path 為該cookie變數的相關路徑;
domain 表示cookie變數的**;
secure 則需在 https 的安全傳輸時才有效。
setcookie("cookie", "cookievalue",time()+3600, "/forum", ".php100.com", 1);
接收和處理cookie
php對cookie的接收和處理的支援非常好,是完全自動的,跟form變數的原則一樣,特別簡單。
比如設定乙個名為 mycookier的cookie,php會自動從web伺服器接收的http頭里把它分析出來,
並形成乙個與普通變數一樣的變數,名為$ mycookie,這個變數的值就是cookie的值。
陣列同樣適用。另外乙個辦法是引用php的全域性變數$http_cookie_vars陣列。
分別舉例如下:(假設這些都在以前的頁面裡設定過了,並且仍然有效)
echo
$mycookie;
echo
$cookiearray[0];
echo
$_cookie["mycookie"];
echo
$http_cookie_vars["mycookie"];
刪除cookie
要刪除乙個已經存在的cookie,有兩個辦法:
1、setcookie("cookie", "");
2、setcookie("cookie", "value" , time()-1 / time() );
使用cookie的限制
1、必須在html檔案的內容輸出之前設定;
2、不同的瀏覽器對cookie的處理不一致,且有時會出現錯誤的結果。
3、限制是在客戶端的。乙個瀏覽器能建立的cookie數量最多為30個,並且每個不能超過4kb,每個web站點能設定的cookie總數不能超過20個。
session的配置與應用session_start(); //初始化session.需在檔案頭部
$_session[name]=value; //配置seeeion
echo
$_session[name]; //使用session
isset($_session[name]); // 判斷
unset($_session[name]); //刪除
session_destroy(); //消耗所有session
注意:session_register(),session_unregister,session_is_registered在php5下不再使用
if($_get['out'])
if($_post['name']&&$_post['password']) //如果變數使用者名稱和密碼存在時,在下面設定cookies
if($_cookie['id']&&$_cookie['pass'])
?>
action=""
method="post">
使用者id:
type="text"
name="name" />
密碼:type="password"
name="password" />
type="submit"
name="submit">
form>
<?php
//session用法例項
session_start();//啟動session,必須放在第一句,否則會出錯。
if($_get['out'])
if($_post['name']&&$_post['password'])
if($_session['id']&&$_session['pass'])
?>
action="login.php"
method="post">
使用者id:
type="text"
name="name" />
密碼:type="password"
name="password" />
type="submit"
name="submit">
form>
cookie 和session的說明參考 PHP網路程式設計
1 通過訪問檔案的方式訪問其他 之後我們可以將其內容寫入我們自己的檔案中。以此方法我們可以將多個 中我們感興趣的內容搜尋並儲存到我們自己的文件中。比如可以實行以下方法 url list file demo web fopen demo web.php a foreach url list as on...
PHP網路程式設計 TCP和UDP的總結
tcp的優點 可靠,穩定 tcp的可靠體現在tcp在傳遞資料之前,會有三次握手來建立連線,而且在資料傳遞時,有確認 視窗 重傳 擁塞控制機制,在資料傳完後,還會斷開連線用來節約系統資源。tcp的缺點 慢,效率低,占用系統資源高,易被攻擊 tcp在傳遞資料之前,要先建連線,這會消耗時間,而且在資料傳遞...
《PHP程式設計網路大講堂》 摘錄11 4
2.語法基礎 echo 不能用在複雜表示式,因為返回void,能輸出多個字串。i 我 you 你 echo i,很好,you 最近怎麼樣?print 返回boolean值 printf 返回整型數值,表示字串長度 printf s is d years old.candy 20 輸出 candy i...