Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

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

60%
+1 −0
Q&A Using an existing web server vs writing your own

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

posted 1y ago by Basile Starynkevitch‭  ·  edited 1y ago by Basile Starynkevitch‭

Answer
#11: Post edited by user avatar Basile Starynkevitch‭ · 2023-10-27T10:29:03Z (about 1 year ago)
  • **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 by user avatar Basile Starynkevitch‭ · 2023-10-27T10:28:14Z (about 1 year ago)
mention ICAP
  • **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 by user avatar Basile Starynkevitch‭ · 2023-10-27T10:24:32Z (about 1 year ago)
  • **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 by user avatar Basile Starynkevitch‭ · 2023-10-27T10:22:54Z (about 1 year ago)
  • **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 by user avatar Basile Starynkevitch‭ · 2023-10-27T10:14:29Z (about 1 year ago)
  • **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 by user avatar Basile Starynkevitch‭ · 2023-10-27T10:09:38Z (about 1 year ago)
  • **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 by user avatar Basile Starynkevitch‭ · 2023-10-27T10:06:57Z (about 1 year ago)
  • **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 by user avatar Basile Starynkevitch‭ · 2023-10-27T10:04:22Z (about 1 year ago)
  • **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 by user avatar Basile Starynkevitch‭ · 2023-10-27T10:02:24Z (about 1 year ago)
  • **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 by user avatar Basile Starynkevitch‭ · 2023-10-27T10:01:12Z (about 1 year ago)
mention C10K and web accessilibyt
  • **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 by user avatar Basile Starynkevitch‭ · 2023-10-27T09:58:20Z (about 1 year ago)
**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.