亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
樓主: send_linux
打印 上一主題 下一主題

HTTP服務器實現技術細節(jié)剖析--深入學習Apache和Nginx(獲獎名單已公布-2012-11-15) [復制鏈接]

論壇徽章:
0
51 [報告]
發(fā)表于 2012-10-27 23:54 |只看該作者
如何處理http協議并不難,詳細看一下對應的兩個主要文檔rfc1945和rfc2616,然后再根據需要可看一下其它相關rfc文檔即可。

nginx對http協議的解析處理沒有用到什么先進的東東,主要是根據標準文檔做狀態(tài)推進(具體通過enum數據結構來標記),比如請求頭的解析:
    enum {
        sw_start = 0,
        sw_method,
        sw_spaces_before_uri,
        sw_schema,
        sw_schema_slash,
        sw_schema_slash_slash,
        sw_host_start,
        sw_host,
        sw_host_end,
        sw_host_ip_literal,
        sw_port,
        sw_host_http_09,
        sw_after_slash_in_uri,
        sw_check_uri,
        sw_check_uri_http_09,
        sw_uri,
        sw_http_09,
        sw_http_H,
        sw_http_HT,
        sw_http_HTT,
        sw_http_HTTP,
        sw_first_major_digit,
        sw_major_digit,
        sw_first_minor_digit,
        sw_minor_digit,
        sw_spaces_after_digit,
        sw_almost_done
    } state;
上面對應這樣的情況:GET / HTTP/1.1

    enum {
        sw_start = 0,
        sw_name,
        sw_space_before_value,
        sw_value,
        sw_space_after_value,
        sw_ignore_line,
        sw_almost_done,
        sw_header_almost_done
    } state;
上面對應這樣的情況:Accept:text/css,*/*;q=0.1

論壇徽章:
0
52 [報告]
發(fā)表于 2012-10-28 00:09 |只看該作者
當然,上面只提到了兩個示例情況,但對于HTTP其它情況的處理,也基本是根據這兩個rfc文檔來的,無需把它們看得特別復雜。

論壇徽章:
54
2017金雞報曉
日期:2017-02-08 10:39:42操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-03-08 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-03-07 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-02-22 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-01-29 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-01-27 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-01-20 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-01-06 06:20:0015-16賽季CBA聯賽之江蘇
日期:2015-12-21 20:00:24操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-12-21 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-11-17 06:20:002015亞冠之廣州恒大
日期:2015-11-12 10:58:02
53 [報告]
發(fā)表于 2012-10-28 17:21 |只看該作者
fengyun530 發(fā)表于 2012-10-25 15:14
雖然有php-fpm的支持,但是處理動態(tài)php類的穩(wěn)定性上目前還是apache要強于nginx.尺有所短,寸有所長,

我比較關心apache和nginx在php上的表現,能提供一個測試之類的數據嗎?

論壇徽章:
0
54 [報告]
發(fā)表于 2012-10-28 20:58 |只看該作者
有點看不懂了,繼續(xù)學習

論壇徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46處女座
日期:2013-10-24 14:25:01酉雞
日期:2014-04-07 11:54:15
55 [報告]
發(fā)表于 2012-10-28 23:04 |只看該作者
是滴, 狀態(tài)機這種簡單的思想可以解決大問題.

其實已經有同學將nginx的http解析函數摘出來做成了開源項目, 叫做: http-parser.

周末時候, 我的開源Server支持了Http協議, 協議的解析部分依賴了http-parser開源項目, 讓整個事情變得更加簡單了, 有興趣的同學可以了解一下http-parser以及我的Server項目是如何應用http-parser快速的支持Http協議的.

Server Git:https://github.com/liangdong/Server/
Http-parser Git:https://github.com/joyent/http-parser

lenky0401 發(fā)表于 2012-10-27 23:54
如何處理http協議并不難,詳細看一下對應的兩個主要文檔rfc1945和rfc2616,然后再根據需要可看一下其它相關 ...

論壇徽章:
0
56 [報告]
發(fā)表于 2012-10-29 09:46 |只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽

論壇徽章:
0
57 [報告]
發(fā)表于 2012-10-29 14:49 |只看該作者
關于連接和占資源的處理,一般大規(guī)模服務器都是異步模式,網絡模擬收到一個請求,放到處理隊列,然后繼續(xù)收下一個。處理模塊處理完成再置標志,表示要回復,網絡模塊再把回復發(fā)給請求者。 這樣每個連接占用資源的情況是對等的,反應效率也高。tomcat代碼沒看過,如果每個連接開一個線程專門來處理,那同時連接數肯定不能太多。

論壇徽章:
0
58 [報告]
發(fā)表于 2012-10-29 15:23 |只看該作者
我現在在用G-WAN。。。

論壇徽章:
3
CU大;照
日期:2013-05-20 10:43:41CU大;照
日期:2013-05-20 10:44:06CU大牛徽章
日期:2013-05-20 10:44:16
59 [報告]
發(fā)表于 2012-10-29 15:35 |只看該作者
sopato 發(fā)表于 2012-10-29 15:23
我現在在用G-WAN。。。


gwan是個什么東東。

論壇徽章:
4
CU大;照
日期:2013-04-17 11:50:25CU大;照
日期:2013-04-17 11:50:33CU大;照
日期:2013-04-17 11:50:39CU大牛徽章
日期:2013-04-17 11:50:44
60 [報告]
發(fā)表于 2012-10-29 15:42 |只看該作者
我覺得Nginx的配置相對簡潔,容易一些。一目了然。
并且負載均衡也還不錯,當然適用于小的站點,因為設計到連接數*2的問題。
在小的并發(fā)量下,表現的很棒。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯網協會會員  聯系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP