nginx 2 處理http請求

2021-09-11 00:08:40 字數 1437 閱讀 4817

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