|
发表于 2018-1-20 02:38:19
|
显示全部楼层
湖北省孝感市
本帖最后由 落款hMZ 于 2018-1-20 02:55 编辑
1、请发到易语言模块区,而不是开源区
2、连主机头都不能设置,支持的文件类型不足20个,就不要加【真正意义上】这几个字了吧,想要支持更多文件,可以到IIS的MIME类型里去抄,我已经抄好了一份了,附件发给你
3、PHP 5.4以前,推荐用ISAPI,5.4以后,推荐用CLI SAPI里面的内置web服务器(命令行 php-cli.exe -S localhost:8000),当然要是钻研能力强,用ISAPI调用fastcgi的扩展是最理想,最接近IIS的,不过可能是因为权限还是回调指针的问题,我上次测试过没有成功
4、WEB_取出数据信息() 封装到模块里了,没办法判断你有没有处理 transfer-encoding: chunked,也不知道有没有处理TCP流粘包问题,但愿不是一个recv就吧所有的请求数据全部接收了(坛子上很多人写的web服务器都是这样)
5、没有源码,所以无法判断你是否对“OPTIONS”, “HEAD”, “GET”, “POST”, “PUT”, “DELETE”, “TRACE”, “CONNECT” 这八种格式做了全支持
6、web服务器的设计开发中,文本和字节集的处理,是最简单的内容,一般可以放到最后做,而核心就是
(1)TCP服务器的稳定性,高效性,不能因访问过大而严重堵塞,要有容灾机制,基本的防护机制,以及合理的长连接处理
(2)扩展的支持,至少支持个DLL,而不是纯粹的静态文件,所以扩展支持应该专门做一个功能,扩展作为单独的文件,就像PHP一样
(3)对目前现有扩展的支持,asp,php这些应该是必须支持的,最好是跟IIS一样,能够支持ISAPI,那样功能就强大了,目前所有的应用于IIS上的ISAPI扩展和过滤器都可以用在这个服务器上,并且,fastCGI也是一种ISAPI扩展,而php5.4版本以后都是fastCGI模式,所以搞定了ISAPI就同时搞定了多种fastCGI应用,包括PHP
(4)如果想要商业化,最好是有一套自己的脚本语言翻译机制,论坛上有很多大牛都发过类似的源码
(5)访问控制机制,安装web服务器的时候创建一个web服务器专用来宾用户
web服务器是个大工程,真不能儿戏,如果不确定你有足够的时间和足够的知识储备,最好先别动工,如果做出来不能比IIS更高效,那就没必要去造这个轮子了
附上一个我自己写的简易web服务器,以及一个网站模板,可以直接通过这个简易web服务器访问这个网站模板(纯源码)
简易web服务器.zip
(1.39 MB, 下载次数: 5)
|
|