php的網路程式設計

2021-07-24 11:32:22 字數 3308 閱讀 4471

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...