Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Post History
A related approach is to extend or customize an existing open source web server or web library. If you can code in C or C++ (on Linux), consider writing your web server software above libonion (it...
Answer
#11: Post edited
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C. Using [libcurl](https://curl.se/libcurl/) the same code can be both a Web server and a web client (e.g. for proxy, caching, or running in a [DMZ](https://en.wikipedia.org/wiki/DMZ_(computing)) at the border of a corporate internal network). Your C++ code might also use [VMime](https://www.vmime.org/) for complex email processing or sending.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, you could still code using PHP.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues, and of [ICAP](https://en.wikipedia.org/wiki/Internet_Content_Adaptation_Protocol). It may (or not) be relevant to your project.
- The advantage of using an existing Web server (communicating with FastCGI or HTTP to another server) is that the static contents of your web site (photos, texts) are still working even if your customization is crashing.
- NB. My pet open source project is [RefPerSys](http://refpersys.org/) (an inference engine, GPLv3+ licensed, which is a web client).
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C. Using [libcurl](https://curl.se/libcurl/) the same code can be both a Web server and a web client (e.g. for proxy, caching, or running in a [DMZ](https://en.wikipedia.org/wiki/DMZ_(computing)) at the border of a corporate internal network). Your C++ code might also use [VMime](https://www.vmime.org/) for complex email processing or sending.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, you could still code using PHP.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For example, the web interface to a hospital is more critical than most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues, and of [ICAP](https://en.wikipedia.org/wiki/Internet_Content_Adaptation_Protocol). It may (or not) be relevant to your project.
- The advantage of using an existing Web server (communicating with FastCGI or HTTP to another server) is that the static contents of your web site (photos, texts) are still working even if your customization is crashing.
- NB. My pet open source project is [RefPerSys](http://refpersys.org/) (an inference engine, GPLv3+ licensed, which is a web client).
#10: Post edited
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C. Using [libcurl](https://curl.se/libcurl/) the same code can be both a Web server and a web client (e.g. for proxy, caching, or running in a [DMZ](https://en.wikipedia.org/wiki/DMZ_(computing)) at the border of a corporate internal network). Your C++ code might also use [VMime](https://www.vmime.org/) for complex email processing or sending.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, you could still code using PHP.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues. It may (or not) be relevant to your project.- The advantage of using an existing Web server (communicating with FastCGI or HTTP to another server) is that the static contents of your web site (photos, texts) are still working even if your customization is crashing.
- NB. My pet open source project is [RefPerSys](http://refpersys.org/) (an inference engine, GPLv3+ licensed, which is a web client).
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C. Using [libcurl](https://curl.se/libcurl/) the same code can be both a Web server and a web client (e.g. for proxy, caching, or running in a [DMZ](https://en.wikipedia.org/wiki/DMZ_(computing)) at the border of a corporate internal network). Your C++ code might also use [VMime](https://www.vmime.org/) for complex email processing or sending.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, you could still code using PHP.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues, and of [ICAP](https://en.wikipedia.org/wiki/Internet_Content_Adaptation_Protocol). It may (or not) be relevant to your project.
- The advantage of using an existing Web server (communicating with FastCGI or HTTP to another server) is that the static contents of your web site (photos, texts) are still working even if your customization is crashing.
- NB. My pet open source project is [RefPerSys](http://refpersys.org/) (an inference engine, GPLv3+ licensed, which is a web client).
#9: Post edited
- **A related approach is to extend or customize an existing open source web server or web library.**
If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C. Using [libcurl](https://curl.se/libcurl/) the same code can be both a Web server and a web client (e.g. for proxy, caching, or running in a [DMZ](https://en.wikipedia.org/wiki/DMZ_(computing)) at the border of a corporate internal network).- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, you could still code using PHP.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues. It may (or not) be relevant to your project.
- The advantage of using an existing Web server (communicating with FastCGI or HTTP to another server) is that the static contents of your web site (photos, texts) are still working even if your customization is crashing.
- NB. My pet open source project is [RefPerSys](http://refpersys.org/) (an inference engine, GPLv3+ licensed, which is a web client).
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C. Using [libcurl](https://curl.se/libcurl/) the same code can be both a Web server and a web client (e.g. for proxy, caching, or running in a [DMZ](https://en.wikipedia.org/wiki/DMZ_(computing)) at the border of a corporate internal network). Your C++ code might also use [VMime](https://www.vmime.org/) for complex email processing or sending.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, you could still code using PHP.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues. It may (or not) be relevant to your project.
- The advantage of using an existing Web server (communicating with FastCGI or HTTP to another server) is that the static contents of your web site (photos, texts) are still working even if your customization is crashing.
- NB. My pet open source project is [RefPerSys](http://refpersys.org/) (an inference engine, GPLv3+ licensed, which is a web client).
#8: Post edited
- **A related approach is to extend or customize an existing open source web server or web library.**
If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C.- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, you could still code using PHP.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues. It may (or not) be relevant to your project.
- The advantage of using an existing Web server (communicating with FastCGI or HTTP to another server) is that the static contents of your web site (photos, texts) are still working even if your customization is crashing.
- NB. My pet open source project is [RefPerSys](http://refpersys.org/) (an inference engine, GPLv3+ licensed, which is a web client).
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C. Using [libcurl](https://curl.se/libcurl/) the same code can be both a Web server and a web client (e.g. for proxy, caching, or running in a [DMZ](https://en.wikipedia.org/wiki/DMZ_(computing)) at the border of a corporate internal network).
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, you could still code using PHP.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues. It may (or not) be relevant to your project.
- The advantage of using an existing Web server (communicating with FastCGI or HTTP to another server) is that the static contents of your web site (photos, texts) are still working even if your customization is crashing.
- NB. My pet open source project is [RefPerSys](http://refpersys.org/) (an inference engine, GPLv3+ licensed, which is a web client).
#7: Post edited
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, you could still code using PHP.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues. It may (or not) be relevant to your project.
The advantage of using an existing Web server is that the static contents of your web site (photos, texts) are still working even if your customization is crashing.- NB. My pet open source project is [RefPerSys](http://refpersys.org/) (an inference engine, GPLv3+ licensed, which is a web client).
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, you could still code using PHP.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues. It may (or not) be relevant to your project.
- The advantage of using an existing Web server (communicating with FastCGI or HTTP to another server) is that the static contents of your web site (photos, texts) are still working even if your customization is crashing.
- NB. My pet open source project is [RefPerSys](http://refpersys.org/) (an inference engine, GPLv3+ licensed, which is a web client).
#6: Post edited
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, you could still code using PHP.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues. It may (or not) be relevant to your project.
The advantage of using an existing Web server is that the static contents of your web site (photos, texts) are still working even if your customization is crashing.
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, you could still code using PHP.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues. It may (or not) be relevant to your project.
- The advantage of using an existing Web server is that the static contents of your web site (photos, texts) are still working even if your customization is crashing.
- NB. My pet open source project is [RefPerSys](http://refpersys.org/) (an inference engine, GPLv3+ licensed, which is a web client).
#5: Post edited
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues. It may (or not) be relevant to your project.
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, you could still code using PHP.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues. It may (or not) be relevant to your project.
- The advantage of using an existing Web server is that the static contents of your web site (photos, texts) are still working even if your customization is crashing.
#4: Post edited
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) issues. It may (or not) be relevant to your project.
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) and [internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization) issues. It may (or not) be relevant to your project.
#3: Post edited
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites.- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) issues. It may (or not) be relevant to your project.
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites. Some web interfaces are accessed from laptops and desktops, others should be usable from mobile phones or small tablets.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) issues. It may (or not) be relevant to your project.
#2: Post edited
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites.
- **A related approach is to extend or customize an existing open source web server or web library.**
- If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C.
- If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework.
- Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one.
- Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites.
- Be aware of the [C10K problem](https://en.wikipedia.org/wiki/C10k_problem), and of [web accessibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) issues. It may (or not) be relevant to your project.
#1: Initial revision
**A related approach is to extend or customize an existing open source web server or web library.** If you can code in C or C++ (on Linux), consider writing your web server software above [libonion](https://www.coralbits.com/libonion/) (it is coded mostly in C) or [Wt](https://www.webtoolkit.eu/wt) (mostly in C++) libraries (both are developed in the European union). Another approach would involve extending [lighttpd](http://www.lighttpd.net/) perhaps with your plugin coded in C. If you can code or prefer to code in [Ocaml](https://ocaml.org/), consider using the [Ocsigen](https://ocsigen.org/home/intro.html) framework. Of course, most web servers are extensible using the old [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) protocol (which I don't recommend, since it is starting a process for most HTTP requests) or the [FastCGI](https://en.wikipedia.org/wiki/FastCGI) one. Above all, **you need to understand how critical and reliable should be your web application**, and who are the intended users. For examples, the web interface to a hospital is more critical that most small web e-commerce sites.