nginx伺服器可以接收http請求並且響應http,如果用socket來模擬大概是這樣:
建立乙個tcp伺服器
$server = socket_create(af_inet, sock_stream, sol_tcp);
繫結埠號
socket_bind($socket, '0.0.0.0', 6001);
監聽埠socket_listen($socket, 5);
讓服務永不退出
while(true)
關閉tcp伺服器
socket_close($server);
讀取客戶端(瀏覽器)訊號$buf上邊讀取到客戶端的訊號buf,如果我請求的位址是這樣:
那麼列印buf:
buf是一長串字串,用正則來匹配該字串:
匹配的(.*)是:
這樣我們就拿到了請求的內容。
響應$response
顯示到頁面上,響應字串中需包含一些資訊。
如果是載入靜態頁面或者php頁面:
html頁面:
request:
$filepath = __dir__ . '/html' . $path;
$content = file_get_contents($filepath);
php檔案:
request:
$filepath = __dir__ . '/php' . $path;
ob_start();
include $filepath;
$content = ob_get_contents();
ob_clean();
Python3處理HTTP請求
python3處理http請求的包 http.client,urllib,urllib3,requests 其中,http 比較 low level,一般不直接使用 urllib更 high level一點,屬於標準庫。urllib3跟urllib類似,擁有一些重要特性而且易於使用,但是屬於擴充套件...
Struts2處理請求的流程
客戶端提交乙個 httpservletrequest 請求,請求被提交到一系列 主要是3層 的過濾器 filter 如 actioncontextcleanup 其他過濾器 sitemesh等 filterdispatcher 注意 這裡是有順序的,先actioncontext cleanup,再其...
指定Struts2處理的請求字尾
struts2中指定處理的請求字尾是通過struts.xml中的來指定的。還有另一種配置方式是通過struts.properties來配置的 不常用 sturts.action.extension do 因為常量可以在下面多個配置檔案中進行定義,所以我們要了解sturts2載入常量的搜尋順序 1 s...