A. Web Server干什么用的
Web Server中文名称叫网页服务器或web服务孙睁器。WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。Web服务器可以解则乱岁析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response)。Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。
(1)webserver源码扩展阅读:
Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通陪旁过很多协议来为应用程序提供(serves)商业逻辑(business logic)。
B. ESP-C3入门14. 实现基本的web server
在ESP-IDF中,创建Web服务器涉及多个步骤,从配置到启动Web服务器,以及处理HTTP请求和WebSocket连接。下面是实现基本Web服务器的详细步骤:
首先,配置Web服务器,使用httpd组件。创建httpd_config_t结构体,指定服务器的端口、最大并发连接数、URI匹配处理器等选项。调用httpd_start函数启动Web服务器。默认使用HTTPD_DEFAULT_CONFIG宏创建配置。
接着,为不同的URI注册处理器函数,以便根据请求的URI选择相应的处理器进行处理。使用httpd_register_uri_handler函数注册URI处理器,该函数接收HTTP服务器句柄和包含URI路径、HTTP方法、处理函数等信息的结构体指针。
实现URI处理器函数,用于处理HTTP请求。函数原型包含一个指向HTTP请求信息结构体的指针,该结构体包含了请求的各种参数和数据。在处理器函数中,通过HTTP请求信息结构体获取HTTP请求的各种参数和数据,实现请求处理。
处理HTTP请求,常用函数有httpd_resp_send(),用于将响应发送回客户端。在URI处理函数中,使用该函数将所需响应发送回客户端。
处理WebSocket连接,ESP-IDF的Web服务器支持WebSocket,通过httpd_ws_frame_t结构体表示WebSocket帧,使用httpd_ws_send_frame_async函数异步发送WebSocket帧。为WebSocket URI注册专门的处理器函数,处理WebSocket连接的各种事件。
注册URI处理函数,将HTTP请求的URI路由到处理程序。使用httpd_register_uri_handler函数,传入HTTP服务器句柄和URI配置。
启动HTTP服务器,所有URI处理函数注册后,调用httpd_start()函数启动HTTP服务器。
发送响应,在URI处理函数中,使用httpd_resp_send()函数将响应发送回客户端。
关闭HTTP服务,使用httpd_stop()函数停止HTTP服务并释放所有资源。
主要使用API说明:httpd_register_uri_handler用于将HTTP请求的URI路由到处理程序,httpd_handle_t是HTTP服务器句柄,httpd_uri_t定义了HTTP请求的URI信息。httpd_query_key_value用于从查询字符串获取指定键的值,httpd_req_t的content_len用于分配缓冲区解析POST参数。
示例代码包含项目结构、加载http_server模块、建立web_server.h头文件、实现web_server.c文件和在main.c中创建任务开启Web服务器。
请注意,我在此提供的内容可能需要根据实际的ESP-IDF环境和代码进行调整。