导航:首页 > IDC知识 > http服务器实现

http服务器实现

发布时间:2020-12-10 06:30:13

1、实现一个http服务器需要怎样进行?需要哪些知识

只谈 Linux 下。

直接用现成的,Apache / Nginx,python -m SimpleHTTPServer

用库写基本的,Python 的 HTTPServer / CGIHTTPServer 等

用 C 从底层手写:POSIX API, Sockets,RFC 2616 。基版本的单线程迭代阻塞处理;然后权是高级点的优化
I/O multiplexing (select / poll, epoll)
进程、线程分派模型:one-request-per-child / one-request-per-thread
非阻塞 I/O,edge trigger

2、实现一个http服务器需要怎样进行?需要哪些知识

只谈 Linux 下。 直接用现成的,Apache / Nginx,python -m SimpleHTTPServer 用库写基本的,Python 的 HTTPServer / CGIHTTPServer 等 用 C 从底层手写:POSIX API, Sockets,RFC 2616 。基本的单版线程迭代阻塞处理;然后是高级权点的优化 I/O multiplexing (select / poll, epoll) 进程、线程分派模型:one-request-per-child / one-request-per-thread 非阻塞 I/O,edge trigger 望采纳。

3、如何用c语言实现http服务器

//服务端简易代码如下:
#include <stdio.h>  
#include <stdlib.h>  
  
#include <err.h>  
#include <event.h>  
#include <evhttp.h>  
  
void http_handle(struct evhttp_request *req, void *arg); /*  HTTP Request Handle  */  
  
int main(){  
    struct evhttp *httpd;  
    event_init();  
    httpd = evhttp_start("0.0.0.0", 2345);  
    if (httpd == NULL) {  
        fprintf(stderr, "Error: Unable to listen on %s:%d ");  
        exit(1);      
    }     
    evhttp_set_timeout(httpd, 2000);  
    evhttp_set_gencb(httpd, http_handle, NULL);  
    event_dispatch();  
    evhttp_free(httpd);  
  
    return 0;  
}  
  
void http_handle(struct evhttp_request *req, void *arg){  
    struct evbuffer *buf;  
    buf = evbuffer_new();  
  
    /*  Response the client  */  
    evhttp_send_reply(req, HTTP_OK, "OK", buf);  
  
    //evbuffer_add_printf(buf, "%s", "HTTPSQS_AUTH_FAILED");  
  
    /*  Release the memory  */  
    evbuffer_free(buf);  
    fprintf(stderr,"Send  ");  
}

编译:编译时把libevent的类库中的.so文件和.h文件连接 进来。

4、网络编程---实现一个HTTP服务器

如果编写要求是完全靠自个去编,不利用控件的话。
你的要求以标准5号字十个标准A4页面也装不下的。
可以写成一本小册了。所以,这种课题性的题目还是不要在网上提吧,没人能花那么多的精力帮你写的。

5、java 如何搭建http服务器

看你具体是想做什么,现在现成的开源的java的http服务器有很多,像tomcat之类的都有http服务器功能,如果你只是单纯的需要用的话,直接用tomcat就好了

但是如果你是做要自己用java实现一个http服务器的话就要稍微麻烦一点

http服务器,本质上还是基于tcpip协议的服务器,首先用java的ServerSocket监听一个端口(也可以使用开源的server组件,如quickserver之类的),然后对客户端发上来的数据进行处理,这里就需要了解一下http协议了,因为上来的数据,都是按照http协议来组织的,你需要将请求数据解析后,将响应数据组织成http的响应,发回给客户端。这样一个简单的http服务器就实现了。

但是这个请求和响应都有很多种类,一个完整的http服务器应该要都能够支持,所以这里面的工作量还是有一点的。

另外,上面说的http服务器只是一个静态的服务器,如果你想让你写的服务具有动态功能,那你的服务器还得提供javaee的容器功能,这样做下去,没准你也能写一个tomcat出来了……

6、怎样使外网访问自己建立的HTTP服务器

如果没有公网IP的话,可以借助一些内网穿透软件,比如开源的holer配置一个key就实现从外网访问了

7、实现一个http服务器需要怎样进行?需要哪些知识

只谈 Linux 下。

直接用现成的,Apache / Nginx,python -m SimpleHTTPServer

用库写基本的,Python 的 HTTPServer / CGIHTTPServer 等

用 C 从底层手写版:POSIX API, Sockets,RFC 2616 。基本的单线程迭代阻权塞处理;然后是高级点的优化
I/O multiplexing (select / poll, epoll)
进程、线程分派模型:one-request-per-child / one-request-per-thread
非阻塞 I/O,edge trigger

8、实现一个http服务器需要怎样进行?需要哪些知识

需要socket(套接字)编程、HTTP协议的知识,实现一个最简单的HTTP服务器,其实就是根据版HTTP协议的权通信规则来发送socket数据,往往是绑定(用bind调用)一个socket(套接字)然后监听(用listen调用)80端口,具体任何实现可以参考网上的一些简单的代码。之所以说这是最简单的HTTP服务器,是因为HTTP服务器还要处理并发、缓存等功能,更进一步还要支持某种动态脚本比如PHP的模块。

9、简单的HTTP Web服务器实现

可以使用开源的http服务器如:Apache HTTP 服务器。

与http服务器实现相关的知识