当前位置: 首页 > news >正文

dooor网站浙江短视频seo优化网站

dooor网站,浙江短视频seo优化网站,网站建设师,网络营销是什么专学科文章目录 静态网页工作原理动态网页工作原理CGI的概念CGI工作原理boa配置静态文件与CGI文件访问路径静态文件CGIPath动态网页 以shell语言,实现动态网页案例第一次访问测试第二次测试 C语言测试 静态网页工作原理 这里以上一节博客中案例test_01.html文件为例。&…

文章目录

  • 静态网页工作原理
  • 动态网页工作原理
  • CGI的概念
  • CGI工作原理
  • boa配置静态文件与CGI文件访问路径
    • 静态文件
    • CGIPath
    • 动态网页
  • 以shell语言,实现动态网页案例
    • 第一次访问测试
    • 第二次测试
  • C语言测试


静态网页工作原理

在这里插入图片描述

这里以上一节博客中案例test_01.html文件为例。(类比图中的a.html)
浏览器通过访问我的TCP服务器(Web服务器,boa),请求获得test01_html文件的信息。
服务器(boa)在接收到这个请求以后,就会去解析该请求在我们对应的资源目录文件中去寻找请求文件

在这里插入图片描述
改资源目录是由上一届中对boa进行配置的文件路径。
在这里插入图片描述
服务器找到对应的文件以后,便打开此请求文件,读取此文件中的数据,将该信息与响应头(响应头指的是对请求文件的响应信息,后面会详细介绍)合并。然后返回发送给用户浏览器

动态网页工作原理

所谓动态网页,指的是网页上的数据在不断的进行更新的一个概念,区别于静态网页一层不变的概念。
比如我们要采集光照强度和温度的数据,显然这个数据是随着时间在不断变化的一个过程,因此为了实现这样的一个数据不断更新的功能,引入了动态网页的技术。

其难点,就在如何让服务器知道用户请求的是一个静态网页(固定的内容的文本文件),还是一个动态网页(由某个程序代码来产生了需要的文本文件)

因此,我们引入了CGI

CGI的概念

在这里插入图片描述
CGI(Common Gateway Interface,公共网关接口)是Web服务器运行时外部程序的规范,按CGI编写的程序可以扩展服务器功能。CGI应用程序能与浏览器交互,还可通过数据API与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也可以将从浏览器获得的数据放入到数据库中。

CGI工作原理

在这里插入图片描述

如上图,其本质就是在两道程序中,充当了一个中间者的角色。因为我们的数据产生本身是一个进程,我们的服务器也是一个进程。所以,如果直接将数据发送给我们的服务器,显然就得解决两者的进程间通信的问题。,而有了CGI以后,我们只需要按照CGI的标准来写程序,就能将数据以动态的形式由服务器发送给用户浏览器。

boa配置静态文件与CGI文件访问路径

静态文件

在这里插入图片描述这是我们上一节博客配置的资源路径。这里为了方便我们区分,我们将此路径进行更改
在这里插入图片描述

CGIPath

在这里插入图片描述CGIPath指的时CGI运行时的环境变量,其目的是告诉服务器,CGI程序的运行路径。

动态网页

在这里插入图片描述

这里就是我们今天需要进行修改的地方,其中/cgi-bin/ 指的就是当我们访问的文件带有cgi-bin字段的时候,就表示访问的动态网页信息,因此我们的服务器,就会从后面的路径/usr/lib/cgi-bin/下去找此文件

修改如下
在这里插入图片描述

新的资源目录结构如下
在这里插入图片描述
测试一下,以test_01.html文件为例。配置完后需要要重启下服务器
在这里插入图片描述
成功

以shell语言,实现动态网页案例

我们编写一个时间的shell脚本,放入到cgi目录下
在这里插入图片描述修改time的权限
chmod 777 time

执行
在这里插入图片描述

第一次访问测试

在这里插入图片描述
修改源代码
出错原因这与http协议要求有关。http协议要求,响应的数据格式为
在这里插入图片描述
状态行,由boa服务器替我们添加上,但是消息报头和空行是需要我们自己补上的。至于为什么非要按这个要求来,我猜测与网络安全有关

修改如下
在这里插入图片描述

第二次测试

在这里插入图片描述
成功

C语言测试

编写测试程序和Makefile

创建一个工作目录
在这里插入图片描述
test_time.c

#include<stdio.h>
#include"time.h"
int main(){char *head_title="C语言测试";printf("Content-Type:text/html;charset=utf-8\r\n");printf("\r\n");printf("<h1>%s</h1>",head_title);printf("<h2>%s</h2>",get_time(0));return 0;
}

time.h

#ifndef TIME_H
#define TIME_H
#include<time.h>
extern char* get_time(time_t now);#endif

time.c

#include<stdio.h>
#include"time.h"
#include<string.h>
#include<stdlib.h>
char* get_time(time_t now){struct tm *local;static char res[16]={0};//存储时间if(now<0){time(NULL);}else{time(&now);}local=localtime(&now);if(local==NULL){perror("获取时间错误");exit(-1);}snprintf(res,sizeof(res),"%02d:%02d:%02d",local->tm_hour,local->tm_min,local->tm_sec);return res;}

Makefile

TARGET := timeOBJ :=time.o
OBJ +=test_time.oCROSS_COMPILE :=
CC := $(CROSS_COMPILE)gcc
LD := $(CROSS_COMPILE)ld
CFLAGS := -Wall -I ../inc
LDFALGS :=OUTPUT_DIR :=/home/jacky/www/cgiall:$(TARGET)
$(TARGET):$(OBJ)$(CC) $(LDFALGS) -o $@ $^mv $(TARGET) $(OUTPUT_DIR)
%.o:%.c$(CC) $(CFLAGS) -c -o $@ $^
.PHONY clean:rm -rf $(OBJ) $(TARGET)

执行make
在这里插入图片描述

测试浏览器

在这里插入图片描述
在这里插入图片描述

成功

http://www.khdw.cn/news/1434.html

相关文章:

  • 自己做模板网站百度推广如何计费
  • 有趣网址之家 收藏全球最有趣的网站seo网站推广经理
  • 做健康类网站怎么备案5g网络优化
  • 博学网站建设公司个人博客登录入口
  • 江苏做网站找谁360seo排名优化服务
  • 新乐市建设银行网站全国唯一一个没有疫情的城市
  • 网站界面美观度网游推广员
  • 产品网站开发流程百度网盘app官网下载
  • 天津市经营性网站备案近期国内新闻热点事件
  • 哈尔滨市建设工程质量安全站站长之家收录查询
  • 帮人做网站的公司网站怎么制作免费的
  • 网页制作知识点归纳广西seo快速排名
  • 南汇专业做网站seo网站推广方法
  • 加盟营销型网站建设全球疫情最新消息
  • 南京网站建设要多少钱seo诊断分析工具
  • 用于网站建设的图片优化精灵
  • 网站被备案能建设百度seo优化策略
  • 在欣欣网上做网站效果如何百度关键词价格计算
  • 网站推广方法的费用网络推广怎么做效果好
  • 湖南省网站关键词在线优化
  • 北京网站建站网品牌推广方案模板
  • 网站建设项目创业计划书女教师遭网课入侵视频大全
  • 淘宝网站建设概要凡科网站登录入口
  • 网站建设怎么分录网站制作设计
  • 宝山做网站公司深圳网络推广代运营
  • 邢台做网站多少钱职业培训机构资质
  • 做淘宝还是做网站百度营销
  • 明珠信息港网站建设专家最新百度新闻
  • 网站制作需要什么软件有哪些搜索引擎优化主要包括
  • 成都市住房和城乡建设部网站关键词怎么优化