
HttpdServer
NiuBenn
这个作者很懒,什么都没留下…
展开
-
自己写HTTP服务器(一)http协议
在写HTTP服务器之前,我们首先要来了解一下http协议 在讲HTTP协议之前,我们先来说说URL(一)URL: URL就是我们平时俗称的“网址” 互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。 基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。完...原创 2019-01-16 12:23:29 · 3087 阅读 · 0 评论 -
自己写Http服务器(二)主体框架
在正式写Http服务器之前,我们先简单的了解一下一个http服务器实际运行时候的一个大致过程:一个http请求从客户端发出,服务器接收到客户端的请求进行处理,再响应给客户端。所以我们首先对服务器接收请求这一方面进行编写,保证服务器首先能够接收到请求,其次再对接收到的请求处理以及进一步的响应。其次我们要明白的http协议是属于应用层的协议,这就意味着我们的数据在传输时候肯定要先从 应用层由定...原创 2019-01-16 14:58:56 · 688 阅读 · 0 评论 -
自己写Http服务器(三)响应处理
上次讲到在我们在接收到请求以后,创建一个新的线程去处理这个请求,HandlerRequest为我们线程的入口函数,我们将accept到的文件描述符作为参数传递给线程所以这里我们来详细来看一下对请求处理的过程,但是在将之前我们先来谈一个概念:cgi CGI(Common Gateway Interface)是外部应用程序与Web服务器交互的一个标准接口。CGI应用程序可以完成客户端与服务...原创 2019-02-26 20:00:03 · 1004 阅读 · 0 评论 -
自己写Http服务器(四)添加线程池
在我们服务器之前的那部分,我们通过创建线程让线程去处理任务,从而可以在同一时间可以处理多个请求,但是这样则需要我们频繁的创建、销毁线程,这样在一定程度上会产生资源的损耗,影响我们服务器的效率,其次如果短时间内的大量请求,导致服务器创建线程数量过多,可能导致内存达到极限,影响操作系统中其他重要进程的运行针对我们目前的服务器可以支持常规的短链接web http请求,因为单个任务比较小,为了减小在创...原创 2019-02-26 23:19:47 · 1013 阅读 · 0 评论