C之BS开发

一、 BS 概述与 boa 搭建
1.1 BS 模式开发概述
BS 模式: 浏览器与服务器模式, 即通过浏览器访问服务器的 Web 资源。
1.1.1 web 前端开发技术
主要包含: HTML CSS XML/JSON Javascript AJAX
HTML
超文本标记语言 ( 英文全称 :HyperText Markup Language)
超文本 就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素
CSS
CSS: 层叠样式表 ( 英文全称: Cascading Style Sheets)
CSS 是一种定义样式结构如字体、颜色、位置等的语言,被用于描述网页上的信息格式化和现实的
方式。
XML
XML 指可扩展标记语言( EXtensible Markup Language
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 是各种应用程序之间进行数据传输的最常用的工具
Javascript
JavaScript 是一种属于网络的脚本语言 , 已经被广泛用于 Web 应用开发 , 常用来为网页添加各式各样
的动态功能 , 为用户提供更流畅美观的浏览效果。
通常 JavaScript 脚本是通过嵌入在 HTML 中来实现自身的功能的。
AJAX
Ajax “Asynchronous Javascript And XML” (异步 JavaScript XML ),是指一种创建交互式网
页应用的网页开发技术。
1.1.2 Web 服务器端开发技术
主要包含 CGI ASP PHP JAVA Python
CGI (英文全称: Common Gateway Interface )通用网关接口。
CGI Web 服务器运行时外部程序的规范 , CGI 编写的程序可以扩展服务器功能。
CGI 应用程序能与浏览器进行交互 , 还可通过数据库 API 与数据库服务器等外部数据源进行通信 , 从数据库
服务器中获取数据。
你可以简单的认为 CGI 程序是服务器端的一个可执行程序
最关键的是使用 C 语言,可以快速开发 CGI 程序,处理 Web 前端请求。 1.1.3 数据管理
Oracle MySQL SQLServer SQLite
通过数据库服务器,实现数据的存和取。
1.2 嵌入式 web 开发模型
1.3 Web 原理
1.4 boa 服务器搭建
Boa 是一个轻量级、快速响应、简单配置的 HTTP 服务器,适用于嵌入式系统和资源有限的环
境。 1.4.1 boa 概述
Boa 是一个轻量级的 HTTP 服务器,适用于嵌入式系统和资源有限的环境。
特点:
1. 轻量级: Boa 是一个非常轻量级的 HTTP 服务器,具有小巧、高效的特点。它的设计目标是在资源
受限的环境中运行,例如嵌入式系统或路由器等。
2. 快速响应: Boa 通过使用事件驱动的方式,能够快速响应客户端的请求。它使用非阻塞 I/O 和异步
处理来提高性能和并发处理能力。
3. 配置简单: Boa 的配置相对简单,可以通过简单的配置文件进行设置。你可以指定监听的端口、根
目录、默认文档等。
4. 支持静态和动态内容: Boa 支持提供静态内容(如 HTML CSS 、图像等)以及动态内容(如 CGI
程序或服务器端脚本)。
5. CGI 支持: Boa 可以通过 CGI (通用网关接口)来运行动态内容。它可以与 CGI 程序进行交互,并
将请求转发给 CGI 程序进行处理。
6. 安全性: Boa 提供了一些安全特性,如基本的身份验证和 SSL/TLS 支持,以确保通信的安全性。
7. 可移植性: Boa 是一个跨平台的 HTTP 服务器,可以在多个操作系统上运行,包括 Linux Unix
Windows 等。
1.4.2 安装 boa
Ubuntu 下安装 boa 服务器。
解压:
安装额外的依赖 : bison flex
切换目录:
修改 defines.h 文件 : 30
执行如下命令:
./configure
make
出现此错时,修改 compat.h 文件的 120 行内容,如下:
将宏中的 ## 去掉。
另外, 修改 boa.c 文件的 226 行代码注释一下:
修改后,先执行: make clean , 再执行 make
当前目录出现 boa 文件即编译成功。
1.4.3 创建 boa 服务器目录结构
#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
mkdir /home/disen/boa/boa -p
mkdir /home/disen/boa/www
mkdir /home/disen/boa/www/cgi-bin
将编译好的 boa boa_indexer 程序和 boa.conf ,放在 /home/disen/boa/boa 目录下
cp boa boa_indexer ~/boa/boa
cp ../boa.conf ~/boa/boa
sudo cp /etc/mime.types ~/boa/boa
1.4.3 配置 boa 服务
配置文件 vi ~/boa/boa/boa.conf 文件
1.4.3.1 修改用户和组
修改 48 49 行:
User 0
Group 0
1.4.3.2 修改日志的位置
修改 62 行: ErrorLog
修改 74 行: AccessLog
ErrorLog /home/disen/boa/boa/error_log
AccessLog /home/disen/boa/boa/access_log
error_log access_log 需要自已手动创建:
1.4.3.3 boa_indexer 位置
修改 130 行:
DirectoryMaker /home/disen/boa/boa/boa_indexer
1.4.3.4 MimeTypes 位置
修改 155 行:
MimeTypes /home/disen/boa/boa/mime.types
1.4.3.5 www 位置
修改 111 行:
DocumentRoot /home/disen/boa/www
1.4.3.6 修改 cgi-bin 的位置
修改最后一行:
ScriptAlias /cgi-bin/ /home/disen/boa/www/cgi-bin/
1.4.4 启动与访问服务
boa 启动服务
sudo ~/boa/boa/boa
检查服务是否启动:
ps -ef|grep boa
或者查看 80 端口占用情况:
netstat -lntp
可以在 www 目录下开发 HTML 网页,并在浏览器访问
boa 默认的 Web 服务端口为 80 。可以修改 boa 配置文件,修改此端口,如 8080
vi ~/boa/www/index.html
<h1> test boa web server </h1>
在浏览器访问:
如果修改了端口号为 8080 ,则地址栏中输入: http://192.168.3.10:8080

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/321332.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA+SpringBoot项目下静态资源访问路径陷阱:静态资源访问404

IDEASpringBoot项目下静态资源访问路径陷阱&#xff1a;静态资源访问404 今天使用SpringBoot项目的时候遇到静态资源访问不到的问题——404。接下来就是这篇博客所说的问题了——>静态资源访问不到&#xff0c;404。 今天使用SpringBoot项目的时候遇到静态资源访问不到的问…

在Ubuntu22.04上部署Stable Diffusion

在AI绘画软件领域Stable-Diffusion&#xff08;简称SD&#xff09;在开源领域绝对是不二之选&#xff0c;他的插件方式可以让此软件具有更多的功能&#xff0c;开发者社群为此提供了大量免费高质量的外接预训练模型&#xff08;fine-tune&#xff09;和插件&#xff0c;并持续维…

若依项目(ruoy-vue)多模块依赖情况简要分析

主pom文件关键点分析 properties标签声明变量信息&#xff1a;版本号、编码类型、java版本spring-boot依赖形式&#xff1a;spring-boot-dependencies、pom、importdependencies中添加本项目内部模块&#xff0c;同时在modules中声明模块packaging打包选择pom设置打包maven-co…

论文悦读(7)——NVM文件系统之Trio(SOSP‘23)文件系统

TRIO&#xff08;SOSP23&#xff09; 1. 背景&#xff08;Background&#xff09;1.1 NVM Technologis1.2 File System Customization1.3 Userspace NVM File Systems 2. 观察与动机&#xff08;Observation & Motivation&#xff09;3. 设计与实现&#xff08;Design &…

Window10 下同时安装 JDK8 和 JDK11

1、下载两个版本的JDK 从Oracle 官网下载两个版本的 JDK 文件到本地&#xff0c;官网下载地址&#xff1a;JDK 下载 | ORACLE 2、部署环境变量 为方便切换 JDK 版本&#xff0c;这里分别新建&#xff1a;JAVA_HOME、JAVA11_HOME 和 JAVA8_HOME 变量&#xff0c;配置内容如下…

【JAVA】深入了解 Java 中的 DelayQueue

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a; JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 Java中的DelayQueue是一个强大的工具&#xff0c;常用于处理需要延迟执行的任务或具有过期时间的元素。通过实现Delayed接口&#x…

类加载机制之双亲委派模型、作用、源码、SPI打破双亲委派模型

双亲委派模型 双亲委派工作机制双亲委派的作用双亲委派的实现源码SPI打破双亲委派 应用程序是由三种类加载器相互配合&#xff0c;从而实现类加载&#xff0c;除此之外还可以加入自己定义的类的加载器。 类加载器之间的层次关系&#xff0c;称为双亲委派模型&#xff08;Parent…

Apache Commons BCEL与Java字节码操作

第1章&#xff1a;Apache Commons BCEL简介 大家好&#xff0c;我是小黑&#xff0c;咱们今天来聊聊Apache Commons BCEL&#xff08;Byte Code Engineering Library&#xff09;。你可能会问&#xff0c;BCEL是什么鬼&#xff1f;别急&#xff0c;小黑这就给你娓娓道来。BCEL…

Mac内心os:在下只是个工具,指望我干人事?

呜呜呜&#xff0c;今天去医院看病了&#xff0c;乌央央的好多人。最近在研究苹果开发者工具中的HealthKit&#xff0c;等我研究透给大家安利。今天还是继续闲聊吧&#x1f602;&#x1f602;提前感谢大家体谅我这个病号&#xff0c;发射小红心&#xff0c;biubiubiu~ 据说&am…

three.js相机按照指定路线在建筑模型中漫游(支持开始,暂停)

three.js相机按照指定路线在模型中漫游&#xff08;支持开始&#xff0c;暂停&#xff09; 关键点 相机运动曲线 // 相机路线 const points [new THREE.Vector3(0, 40, 300),new THREE.Vector3(50, 40, 300),new THREE.Vector3(50, 40, 50),new THREE.Vector3(150, 40, 50),…

【Python机器学习】k近邻——k近邻分类

k-NN算法最简单的版本是只考虑一个最近邻&#xff0c;也就是想要预测的数据点最近的训练数据点&#xff0c;预测结果就是这个训练数据点的已知输出。 除了仅考虑最近邻&#xff0c;还可以考虑任意&#xff08;k个&#xff09;邻居&#xff0c;这也是k近邻算法名字的由来。在考…

达梦数据库安装超详细教程(小白篇)

文章目录 达梦数据库一、达梦数据库简介二、达梦数据库下载三、达梦数据库安装1. 解压2. 安装 四、初始化数据库五、DM管理工具 达梦数据库 一、达梦数据库简介 ​ 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统&#xff0c;简称DM。 达梦数…