基于Linux的网络平台

这个网络平台所用的http服务器是我自己写的一个微型http服务器。

该网络平台处理通信的大致流程

基于Linux的网络平台
基于Linux的网络平台

请求报文与相应报文

基于Linux的网络平台

CGI

我认为CGI就是web服务器和被请求的可执行程序中间的一层接口。通过该接口可执行程序可以直接和client端进行数据通信。本质实现就是web服务器进程fork了个子进程,用子进程去解释client请求的CGI程序,然后将结果返回给client。

小项目结果展示

http服务器的主页

基于Linux的网络平台

http服务器上的第一个表单mathcgi的结果


基于Linux的网络平台

http服务器上的第二个表单的mysqlcgi的结果

基于Linux的网络平台
基于Linux的网络平台

总结

通过本次小项目,我觉得前端就是写html一类的web服务器的页面的,而后台就是维护web服务器,写服务器开发的代码的。还有知道了open函数是不能打开文件夹的。还有sendfile函数中的outfd必须是个socket文件,infd必须是支持mmap的文件所以不能是socket文件。还了解到了web服务器与浏览器是以响应请求的方式来交互的,底层通过分析请求然后再将结果写入响应报文中来完成通信的。