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.rhkb.cn/news/230945.html

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

相关文章

ssm基于web的素材网的设计与实现+vue论文

基于web的素材网站的设计与实现 摘要 当下&#xff0c;正处于信息化的时代&#xff0c;许多行业顺应时代的变化&#xff0c;结合使用计算机技术向数字化、信息化建设迈进。传统的素材信息管理模式&#xff0c;采用人工登记的方式保存相关数据&#xff0c;这种以人力为主的管理…

实现区域地图散点图效果,vue+echart地图+散点图

需求&#xff1a;根据后端返回的定位坐标数据实现定位渲染 1.效果图 2.准备工作,在main.js和index.js文件中添加以下内容 main.js app.use(BaiduMap, {// ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */ak: sRDDfAKpCSG5iF1rvwph4Q95M…

【C语言】stdbool.h——有关bool的总结

在编程和日常生活中&#xff0c;经常需要一种只能具有两个值之一的数据类型&#xff0c;如是否、开关、真假等&#xff0c;因此&#xff0c;C 有一种bool数据类型&#xff0c;称为booleans。布尔值表示 或true的值false。 C 中的 bool 是大多数语言中的基本数据类型&#xff0…

网络安全与IP地址:构建数字世界的前沿堡垒

网络安全是当今数字社会中不可忽视的挑战之一。而IP地址&#xff0c;作为互联网通信的基础协议&#xff0c;既是数字化时代的桥梁&#xff0c;也是网络安全的关键节点。本文将剖析IP地址在网络安全领域的作用&#xff0c;以及如何利用其特性建立有效的网络安全策略。 IP地址&a…

table的最后一行需要加底色

<tr class"font12" v-for"(item, index) in OrderAuditDiscountList.list" :key"index":class"OrderAuditDiscountList.list.length - 1 index ? blodfont : "> 其中&#xff1a; :class"OrderAuditDiscountList.list.le…

借还款记账表,借款还款记账软件

我们每个人都在为生活奔波&#xff0c;为事业打拼。但有时候&#xff0c;生活中的一些小事情&#xff0c;比如朋友间的借贷、还款&#xff0c;就可能让我们的生活变得有些混乱。为了解决这个问题&#xff0c;一个全新的借还款记账软件【晨曦记账本】横空出世&#xff0c;它不仅…

FindMy技术用于鼠标

鼠标是计算机的标准配置之一&#xff0c;其设计初衷是为了使计算机的操作更加简便快捷&#xff0c;减少用户在操作中的负担。用户可以通过移动鼠标&#xff0c;实现光标的精确移动&#xff0c;进而选择、拖拽、复制、粘贴等操作。这种操作方式&#xff0c;使得计算机的操作变得…

新一代爬取JavaScript渲染页面的利器-playwright(二)

接上文&#xff1a;新一代爬取JavaScript渲染页面的利器-playwright&#xff08;一&#xff09;   上文我们主要讲了Playwright的特点、安装、基本使用、代码生成的使用以及模拟移动端浏览&#xff0c;这篇我们主要讲下Playwright的选择器以及常见的操作方法。 6.选择器 我们…

git 本地仓库

本地仓库 start.bat 启动

k_d树, KNN算法学习笔记_1 距离和范数

k_d树, KNN算法学习笔记_1 距离和范数 二维树中最近邻搜索的示例。这里&#xff0c;树已经构建好了&#xff0c;每个节点对应一个矩形&#xff0c;每个矩形被分割成两个相等的子矩形&#xff0c;叶子对应于包含单个点的矩形 From Wikipedia 1&#xff0e; k k k近邻法是基本且简…

使用“反向代理服务器”的优点是什么?

反向代理服务器是一种网络架构模式&#xff0c;通常位于客户端和实际服务器之间&#xff0c;用于处理客户端请求并转发到实际服务器。以下是使用反向代理服务器的优点&#xff1a; 1.安全性&#xff1a;反向代理服务器可以提供额外的安全层。通过在反向代理服务器上配置防火墙和…

opencv006 绘制直线、矩形、⚪、椭圆

绘制图形是opencv经常使用的操作之一&#xff0c;库中提供了很多有用的接口&#xff0c;今天来学习一下吧&#xff01; &#xff08;里面的函数和参数还是有点繁琐的&#xff09; 最终结果显示 函数介绍 直线 line(img, pt1, pt2, color, thickness, lineType, shift) img: 在…

GO语言笔记1-变量与基本数据类型

变量使用步骤 声明赋值使用 package main import "fmt" func main(){var age int //声明一个 int类型的变量叫ageage 18 //给变量用 赋值fmt.Println(age) //使用变量 输出变量的值 } 编译运行输出变量值 变量的四种使用方式 package main import "fmt&q…

nginx配置图片服务器

目录 一&#xff1a;访问流程 二&#xff1a;缓存服务器配置 三&#xff1a;上传图片直接上传到图片服务器 四&#xff1a;加快图片访问 一&#xff1a;访问流程 访问缓存服务器(上面安装nginx反向代理到图片服务器&#xff0c;对外提供服务)->图片服务器 二&#xff1…

Ajax基础入门_Ajax概述,同步与异步,Axios的使用,JSON数据及FastJSON的使用

Ajax 文章目录 Ajax1 概述2 作用3 同步和异步3.1 同步3.2 异步 4 代码编写4.1 服务端4.2 客户端 5 Axios5.1 使用5.2 代码5.2.1 前端5.2.2 后端 5.3 请求方法别名 6 JSON6.1 概述6.2 JSON 基础语法6.2.1 定义格式6.2.2 js 对象与JSON的转换 6.3 发送异步请求携带参数6.4 JSON串…

[PyTorch][chapter 9][李宏毅深度学习][CNN]

前言&#xff1a; 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09;是一种深度学习模型或类似于人工神经网络的多层感知器&#xff0c;常用来分析视觉图像。卷积神经网络的创始人是着名的计算机科学家Yann LeCun&#xff0c;目前在Facebook工作&#xff0c;…

WSL 与真实 linux 环境区别有多大?

随着 Windows 系统的不断发展和完善&#xff0c;WSL&#xff08;Windows Subsystem for Linux&#xff09;作为 Windows 10 的一个功能&#xff0c;为 Windows 用户提供了一个可以在 Windows 环境下运行 Linux 二进制可执行文件的环境。然而&#xff0c;尽管 WSL 为用户提供了一…

BERT(从理论到实践): Bidirectional Encoder Representations from Transformers【3】

这是本系列文章中的第3弹,请确保你已经读过并了解之前文章所讲的内容,因为对于已经解释过的概念或API,本文不会再赘述。 本文要利用BERT实现一个“垃圾邮件分类”的任务,这也是NLP中一个很常见的任务:Text Classification。我们的实验环境仍然是Python3+Tensorflow/Keras…

python打包exe

打包python绘制玫瑰花_python生成玫瑰花-CSDN博客 这个链接的程序 隐藏 控制台窗口&#xff08;如果你的程序是GUI&#xff0c;不是控制台应用可以选用&#xff0c;比如本案例的送你玫瑰花就是白底的&#xff09; 报错的话&#xff0c;可能没有pyinstaller这个库 参考&#x…

动手学深度学习一:环境安装与数据学习

2024&#xff0c;重新开始深度学习。 第一步&#xff1a;李沐动手学深度学习 课程网址&#xff1a;https://courses.d2l.ai/zh-v2/ 包含教材和视频网址链接 Jupyter notebook安装 目前在本地先使用cpu版本pytorch&#xff0c;我的本地已经安装好conda&#xff0c;跟着教材创建…