C语言开发网站

news/2024/5/11 21:43:47/文章来源:https://blog.csdn.net/qq_40098572/article/details/86658812

在正式开发之前,先了解一下网站的原理:

请求,处理,响应

在浏览器的network中可以看到浏览器和服务器的交互过程。

请求一个网站的本质就是咱们的浏览器和服务器交互的一个过程。

比如说咱们请求www.baidu.com,就是咱们的浏览器向服务器发送一个请求,我要请求www.baidu.com

服务器给咱们返回一个消息Response。浏览器向服务器发送请求,服务器吧咱们所请求的内容返回来。

 开发动态网站需要什么

密码明文传输是容易被劫持   参考网络原理

开发一个网站需要什么

需要一台web服务器,帮助开发者实现网路请求处理等。

如果不使用web网站服务器,需要我们自己来写socket/多线程  相当于自己做一个web服务器。

需要开发者开发服务器端程序,CGI。进行用户业务逻辑的处理。浏览器根据用户的操作向web服务器发送请求,web服务器的程序对浏览器的请求进行处理,然后把处理的结果响应给客户端。

CGI

什么是CGI?

当浏览器的一个请求到来的时候,web服务器运行服务服务器端对应的可执行程序,把浏览器的请求放到标准化输入中,可执行程序运行后,web服务器把程序的标准化输出,内容返回给浏览器。

CGI开发效率,运行效率低,但是开发原理和java,asp.net,php等是互通的,所以不用纠结cgi是过时的技术,在嵌入式设备中cgi还是应用很广的。

开发CGI流程:开发一个exe程序,放到web服务器对应目录下,浏览器访问这个exe即可运行。

运行CGI需要网站服务器。

通过scanf就可以读取到客户端的请求,通过printf返回给客户端。

现在我们可以开发第一个cgi程序

vs中新建,选择visual c++-》win32项目 选择控制台,在源文件上右键添加新建项c++,文件名后缀用.c

#include <stdio.h>

int main()

{

printf("Content-Type:text/html;charset=gbk\r\n\r\n");

printf("<font color=red>hello world</font>");

return 0;

}

生成的exe文件改名为cgi放到网站根目录下,浏览器访问,返回输出。分析原理:浏览器请求cgi服务器,后台执行cgi程序,并且把执行结果返回给浏览器。

简化开发配置:

每次修改代码都要生成,exe改为cgi,复制到网站的根目录。很麻烦。

直接生成cgi:项目右键属性目标文件扩展名“”改为.cgi

项目根目录作为网站根目录:改apache的http.conf的documentroot

cgi直接生成到网站根目录,也就是项目根目录,项目右键属性,输出目录田"./"

获取请求参数:

有的程序运行之前需要给出一些参数,网站程序不能直接从标准输入scanf,需要通过地址栏中QueryString传入

用getenv从环境变量中获取QueryString:char*queryString=getenv("QUERY_STRING);

报错

解决方案:

https://jingyan.baidu.com/article/49711c616b8a1ffa441b7cdc.html

 

 

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

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

相关文章

C语言写的网站入门篇

第一步&#xff1a;运行sql脚本&#xff1a;https://download.csdn.net/download/qq_40098572/10946799 第二步&#xff1a;搭建开发环境 第三步&#xff1a;搭建mysql环境 #include <stdlib.h> #include <stdio.h> #include <winsock.h> #include <mysq…

域名 网站的区别

域名&#xff0c;相信大家都不默认&#xff0c;也使用过无数次&#xff01;比如&#xff1a; google.com、baidu.com、163.com等。 这时候&#xff0c;你可能要奇怪了&#xff0c;为什么小编没有在前面加上www? 因为正常情况下&#xff0c;不应该是www.baidu.com之类的吗&…

大型网站架构演变和知识体系

&#xfeff;&#xfeff; 之前也有一些介绍大型网站架构演变的文章&#xff0c;例如LiveJournal的、ebay的&#xff0c;都是非常值得参考的&#xff0c;不过感觉他们讲的更多的是每次演变的结果&#xff0c;而没有很详细的讲为什么需要做这样的演变&#xff0c;再加上近来感觉…

数据分析网站-竞品分析数据来源

产品汪经常需要做竞品分析&#xff0c;要用到许多专业的图表和数据。数据从何而来&#xff1f;需要我们利用专业的数据研究网站来搜集。 常用的数据搜集网站&#xff1a; 1.百度指数 网址&#xff1a;http://index.baidu.com/ 主要功能&#xff1a; 指数探索&#xff1a;趋…

DDoS高防教你如何防御网站DDoS攻击

DDoS是英文Distributed Denial of Service的缩写&#xff0c;意即“分布式拒绝服务” 分布式拒绝服务攻击可以使很多的计算机在同一时间遭受到攻击&#xff0c;使攻击的目标无法正常使用&#xff0c;分布式拒绝服务攻击已经出现了很多年了&#xff0c;导致很多的大型网站都出现…

网站被CC或者DDOS攻击怎么办?

网站为什么会遭遇DDos攻击或CC攻击&#xff1f; 网站之所以会遭受DDos攻击和CC攻击&#xff0c;主要因素是来自于同行的竞争激烈&#xff0c;一些非法同行采用极端激进的竞争方式&#xff0c;往往会雇佣网络一些具有一定技术的程序人员恶意攻击&#xff0c;雇佣价格不高&#…

网站被黑客攻击怎么办?

什么是网站被黑&#xff1f;一般来说&#xff0c;我们所谈论的网站都被黑客入侵&#xff0c;这意味着黑客利用网站背景中的一些程序漏洞进行攻击。他们会在我们的网站上添加很多垃圾页面。当您检查包含某个网站时&#xff0c;如果该网站被黑客攻击&#xff0c;则会显示一些内容…

记一次网站被攻击

很久没有上自己以前的博客网站&#xff0c;今天上去看了一下&#xff0c;发现页面布局有点错位&#xff0c;页面上的所有链接&#xff0c;无论url是什么&#xff0c;所跳转的页面都是首页的内容&#xff0c;使用浏览器查看了网页源码&#xff0c;发现被插入了一些meta头信息&am…

Nginx配置SSL证书部署HTTPS网站

一、什么是 SSL 证书&#xff0c;什么是 HTTPS SSL 证书是一种数字证书&#xff0c;它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道&#xff0c;从而实现&#xff1a; 1、数据信息在客户端和服务器之间的加密传输&#xff0c;保证双方传递信息的安…

云服务器网站打开速度过慢,如何进行自检

近年来&#xff0c;越来越多企业青睐云服务器&#xff0c;云服务商也发展的如火如荼。但对于客户来说&#xff0c;在使用云服务器的过程中&#xff0c;会出现网络访问速度缓慢的情况&#xff0c;为何会出现这种情况&#xff0c;如何解决呢&#xff0c;群英来给大家分析下。 1.先…

如何有效防御网站被CC攻击

对于新站长来说&#xff0c;对CC攻击可能比较陌生&#xff0c;那么什么是CC攻击&#xff0c;如何有效防御网站被CC攻击&#xff1f;网络攻击中常见的是&#xff1a;DDoS攻击、CC攻击&#xff0c;其中危害大且难防范的是DDoS攻击&#xff0c;而CC攻击是DDOS的一种&#xff0c;也…

影响网站页面浏览量的因素有哪些

网站页面浏览量的多少能直观反映一个页面受用户欢迎的程度&#xff0c;而且还会和网站的转化率挂钩。一个好的页面能更好的吸引用户浏览下去&#xff0c;所以很多公司都会比较重视这一点&#xff0c;那么我们该如何去更好的提升页面的浏览量呢&#xff1f;小编来做如下几点的分…

预防网站被攻击的5种方法,看过来

随着云计算的快速发展&#xff0c;同行之间的竞争也日趋激烈&#xff0c;网络安全也越来越受到大家的重视。针对愈加猖獗的网络安全问题&#xff0c;如何进行有效的预防呢&#xff1f;接下来&#xff0c;群英来给大家说说这5种方法吧。 1.使用具有高防御能力的服务器&#xff…

网站中木马病毒了怎么办

不少站长们辛辛苦苦的创建了一个网站&#xff0c;却由于安全维护措施做的不到位&#xff0c;最终导致网站中木马病毒&#xff0c;网站被跳转或无法打开等棘手情况&#xff0c;或点击进去是杂七杂八的灰色网站。若处理不及时&#xff0c;容易受到搜索引擎的惩罚&#xff0c;如官…

用云服务器建站的几个好处,你知道多少

部分站长或小公司的老板普遍认为&#xff0c;个人建站的网站如果用云服务器过于浪费了&#xff0c;毕竟只是一个展示型的网站或者只是用来学习网络技术这方面的知识&#xff0c;没必要用质量好的云服务器。其实他们忽略了2个比较重要的因素&#xff0c;1是性价比&#xff0c;2是…

基于scrapy对网站的图片进行爬取

创建项目的过程我们这里就不讲了&#xff0c;上一篇讲了 ImagesPipeline特点&#xff1a; 将下载图片转换成通用的JPG和RGB格式 避免重复下载 缩略图生成 图片大小过滤 这里我直接给大家看一下&#xff0c;项目的目录结构 在爬取之前我们需要将settings里面的数据修改一…

USGS,ASF网站上传矢量范围失败解决办法

最近需要用国外网站下载数据&#xff0c;但是手绘的矢量范围不精确&#xff0c;有时候可能数据覆盖不全&#xff0c;这里想写一下怎么做才能找到一个精准的范围&#xff0c;很多博客都是说导入矢量&#xff0c;但是有时候自己的矢量边界拐点比较多的时候&#xff0c;导入下载页…

一天一个爬虫练习,今天爬取 瑞文文摘网站

import requests #自动爬去html页面&#xff0c;自动请求网络提交 from bs4 import BeautifulSoup #解析HTML/XMl页面&#xff0c;提取数据或信息#模拟浏览器访问 headers {User-Agent:Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chro…

网站如何识别 你是 selenium爬虫?那我们怎么解决(反反爬)

我们经常会拿selenium进行自动登录来搭建cookie池&#xff0c;对于不想自己网站被爬的站主/开发人员来说&#xff0c;防止自动化脚本操作网站自然是反爬必须要做的工作。那么&#xff0c;他们究竟有哪些手段来检测用户是否是selenium呢&#xff1f;今天就来总结一下常见的识别s…

Django 统计网站访问次数、访问 ip 、访问端点及次数

个人博客&#xff1a;http://www.iamnancy.top 有时候写完博客&#xff0c;想知道网站每天的访问量&#xff0c;都有哪些人访问&#xff0c;都是来自什么地方的访客&#xff0c;都访问了哪些端点。 效果如下&#xff1a; 编写 blog/models.py # 访问网站的 ip 地址、端点和…