搭建动态静态服务器

Java 编写一个简单的 HTTP 服务器,用于提供静态网页文件 然后,我们进入一个无限循环,在每次迭代中接受一个客户端连接,并读取其请求。我们从请求中提取文件路径,并尝试打开该文件以读取其内容。在上面的代码中,我们定义了一个名为 HTTPServer 的类,它使用 Java 的 Socket API 实现了一个简单的 HTTP 服务器。最后,我们将响应发送回客户端,并关闭连接。在发送响应之前,我们需要将响应内容转换为字节数组,并计算内容长度和响应头部分。要运行此代码,请将其保存在名为 HTTPServer.java 的文件中,并将 www/ 目录中的静态。 阅读详情

搭建动态静态服务器

Nginx做静态资源服务器优于Tomcat

区分静态资源,动态资源请求

使用域名区分!

 

如果是动态资源请求  反向代理到 Tomcat 

如果 是静态资源请求  直接走本地Nginx

配置:

###静态资源
server {
listen 80;
server_name static.toov5.com;
location /static/img {
root /home;
index index.html index.htm;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

}

 

 

 

女神出现了

 

动态:

properties:

server.port: 8080
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp  

 controller

package com.controller;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@SpringBootApplication
@Controller
public class IndexController {
  
     @RequestMapping("/")
     public String index() {
         System.out.println("index");
         return "index";
     }
     
      public static void main(String[] args) {
        SpringApplication.run(IndexController.class, args);
    }
     
}

jsp

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%
    String path = request.getContextPath();
    String basepath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<base href="<%=basepath %>" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Insert title here</title>
</head>
<body>
  <h1>
   look:
     <img alt="" src="http://static.toov5.com/static/img/p.jpg"> 
  </h1>
</body>
</html>

pom:

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.itmayiedu</groupId>
	<artifactId>servet_demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>
    <dependencies>
        <!-- SpringBoot 核心组件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
    </dependencies>
</project>

  

我的访问url与 网页内嵌的不一样哦

 访问时候是www    图片是static  完全分离了哦 哈哈哈

 

 请求一次:

 

 

OnceAir如何利用家用网络,搭建个人网站、博客,NAS服务器 现代人的家中都有大量电子设备。手机更新换代也比较快,最麻烦的就是电脑、手机、平板之间的文件共享和备份了。 用家用电脑做服务器,搭建个人NAS网盘,博客,其实还是有一定难度的。 公网IP 要搭建可以远程访问的网站,还需要网络分配有公网IP,这样外网设备,如电脑、手机才能根据公网IP访问到家里的服务器。有了公网IP,才能设置路由器端口映射实现外网访问。 动态IP 但是现在的路 阅读详情

相关推荐

19、搭建与配置 Apache 服务器:从静态页面到动态网站

本文详细介绍了如何搭建和配置 Apache 服务器,从创建简单的静态网页到实现动态网站,涵盖了虚拟主机配置、CGI脚本的使用、DNS设置、性能优化、安全考虑以及故障排除等内容。通过一系列实验步骤,帮助读者逐步掌握 Apache 服务器的使用和管理,并探讨了未来可能的扩展方向,如负载均衡和容器化部署。

lg888的博客 54

服务器软件总结

分类 1、静态服务:主要提供静态资源,不同用户访问到的资源相同 2、动态服务:提供动态服务,不同用户访问到的资源不同 概述 1、web服务器:所有的服务器软件都可以称之为web服务器软件 2、HTTP服务器(静态服务):使用HTTP协议传输资源,提供服务 3、应用服务器(动态服务):一个特定应用的承载容器 常见的轻量级服务器软件: 1、Nginx:典型的静态服务器,可做反向代理、负载均衡,一般放在最前面直面用户,配合后端Tomcat打前阵;纯C写的,性能贼高、内存消耗极少、稳定性也相当好,互联网公司重度使用

weixin_47251999的博客 684

量子阱技术解析:从基础原理到前沿应用

本文深入解析量子阱技术,从微观“能量游泳池”的基础原理出发,阐释了其通过限制电子实现能级量子化,从而精确调控发光波长的核心机制。文章详细探讨了量子阱在半导体激光器和LED中的革命性应用,如实现低阈值电流与高亮度显示,并展望了其在能带工程及量子级联激光器等前沿领域的发展与挑战。

weixin_29267307的博客 282

Linux服务器搭建 -- Web静态/动态服务器及论坛的搭建(apache)

www是world wide web的缩写,意为全球信息广播。通常说的上网就是使用www来查询用户所需要的信息。www可以结合文字、图像、影响以及声音等多媒体,可以通过鼠标点击超链接的方式将信息以Internet传到世界各地一、首先服务端需要下载mod_ssl模块二、生成证书openssl主命令req请求-newkey新的公钥rsarsa加密方法-nodes哈哈-keyout输出私钥zws.key私钥名称-x509证书的格式-out输出证书zws.crt证书的名字。

HH_beibei的博客 4919

Ventoy引导自定义菜单配置详解:手把手教你用ventoy_grub.cfg启动硬盘里的Manjaro

本文详细解析了Ventoy引导自定义菜单配置方法,重点介绍如何通过ventoy_grub.cfg文件启动硬盘中的Manjaro系统。从Ventoy与GRUB2的协作原理到具体配置步骤,包括分区布局设计、关键参数解析及常见问题解决方案,帮助用户实现多系统引导的灵活管理。

weixin_28738165的博客 299

英飞凌Tricore问题排查01_Det/Reset/Trap排查宝典

软件跑飞进Det或发生Reset或进Trap了,怎么查?有固定套路可以follow吗?英飞凌Tricore又有哪些专门的定位办法?本篇为您娓娓道来。

initiallizer的博客 4416

用原生Java写一个静态资源服务器

使用JDK自带的HttpServer实现文件下载功能

拒绝八股文从我做起 902

RAGFlow体验大提升:使用GPU加速

场景:在正常部署过程中,启动RAGFlow会用到docker-compose.yml文件来启动。但是在实际使用过程中,会发现RAGFlow极其的卡和笨重,给一一种很不好的用户体验,有没有一种可以让RAGFlow加速的呢?进入RAGFlow的docker目录下会有发现有很多docker的配置文件。方法一:选择docker-compose-gpu.yml这个来启动项目。两个方法选其一 ,就会让你的RAGFlow的使用起来非常的丝滑!方法二:在docker-compose.yml末尾加上。

Ven%的博客 3156

常用服务器软件的简单介绍

服务器软件 Web服务器 应用服务器 HTTP服务器 Tomcat Nginx

Allen_R的博客 2927

Doris数据过期策略:自动清理历史数据

在数据的世界里,就像我们的房间会堆满各种东西一样,数据库也会积累大量的数据。随着时间的推移,很多历史数据可能不再经常被使用,但它们却占据着宝贵的存储空间。Doris是一款强大的数据库,为了让它能更高效地运行,合理地管理数据,我们就需要一种方法来自动清理那些不再需要的历史数据。本文的目的就是详细介绍Doris的数据过期策略,让大家知道如何利用这个策略来实现自动清理历史数据。范围涵盖了从基本概念到实际操作的各个方面。本文会先介绍一些和Doris数据过期策略相关的术语,让大家对一些专业词汇有个基本的了解。

软件工程实践的博客 556

Python 爬虫实战:亚马逊商品评论 + 评分抓取(情感分析数据预处理)

在电子商务领域,用户评论是了解产品口碑和市场反馈的重要渠道。亚马逊作为全球领先的电商平台,拥有海量的商品评论数据。本文将详细介绍如何使用 Python 编写爬虫程序,从亚马逊网站抓取商品评论和评分数据,并进行情感分析的数据预处理。

yansideyucsdn的博客 769

DHCP服务器的搭建及动态ip与静态ip的转换

一:DHCP简介 DHCP:动态主机配置协议,是一个局域网的网络协议,使用UDP协议工作,用于内部网或者网络服务供应商自动分配ip地址。 DHCP服务器:DHCP服务器指的是由服务器控制一段ip地址范围,客户端登陆服务器时就可以自动获得服务器分配的ip地址和子网掩码。 DHCP客户端:在支持DHCP功能的网络设备上将指定的端口作为DHCP Client,通过DHCP协议从DHCP Server动态...

试试看吧。 3159

paddlehub无法安装,安装报错【Bug完美解决】

paddlehub无法安装,安装报错【Bug完美解决】 我们正在进行一个基于Python的项目开发,该项目需要集成PaddleHub,以利用其丰富的深度学习模型和工具。PaddleHub提供了一种简便的方式来使用预训练模型,以加速开发过程并提高模型效果。 现在paddlehub安装出现问题了,本文彻底解决paddlehub无法安装的问题。

一键难忘的博客 3388

Linux—Web服务器(静态、动态网站的搭建)

web服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,并且放置在某个特殊的目录下面,这个目录就是我们整个网站的首页,在Redhat中,这个目录默认在/var/www/html。

FlightDiarys的博客 9387

RH850从0搭建Autosar开发环境【17】- Davinci Configurator之DCM模块配置详解(下)

RH850从0搭建Autosar开发环境【17】- Davinci Configurator之DCM模块配置详解(下)

weixin_42412049的博客 2379

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Nginx搭建动态静态服务器

Nginx做静态资源服务器优于Tomcat 区分静态资源,动态资源请求 使用域名区分! 如果是动态资源请求 反向代理到 Tomcat 如果 是静态资源请求 直接走本地Nginx 配置: ###静态资源 server { listen 80; server_name static.toov5.com; loca...

art_code的博客 271

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

python 搭建的http 动态服务器_python搭建简单的静态web服务器

python搭建简单的静态web服务器[TOC]储备知识一丢丢的python(io和多线程的知识)一丢丢的http协议一丢丢的tcp/ip协议(当然不了解也没关系)一丢丢的正则表达式知识web服务器基本原理当在浏览器的地址栏输入一个ip与端口之后,浏览器就会通过tcp/ip协议与相应的主机端口进程建立联系。经历过三次握手之后就会将http请求发送到相应的服务器进程去,之前我们了解的http协议在服...

weixin_39955149的博客 138

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Nodejs的学习Ⅳ(静态与动态服务器的简单搭建、npm的上传包、在公网上部署服务器、MySQL的安装)

一、静态服务器 能够根据需要请求的文件,原封不动的将服务器磁盘中的数据直接返回给到浏览器。 具体事例: let http = require('http'); // 引入http模块 let path = require('path') // 引入path模块 let fs = require('fs') // 引入文件模块 let server = http.createServer() // 创建server对象 server.on('request',

胡图图不糊涂的博客 332

从静态页面,到动态页面,服务器搭建一条龙

最近准备将自己写的博客搭建到服务器上,整理一下步骤搭建需要1、在linux 系统上安装 jdk tomcat mysql将文件上传到 服务器上[root@CentOs tools]# ll总用量 1347904-rw-r--r--. 1 root root 8989099 9月 4 23:48 apache-tomcat-7.0.81.tar.gz-rw-r--r--. 1 root r...

UNIQUE_XIAOXI的博客 663

搭建网站及创建静态网页和动态网页

更改1.txt为1.html,2.txt为2.php,再次点开phpstudy打开网站,在搭建网站的服务器下查看两个文件。建立动态脚本时使用get获取参数,我们可以直接在url上添加参数再次回车。4:打开网站根目录,建立一个静态脚本和动态脚本1.txt和2.txt。1:下载phpstudy打开首页的mysql和apache服务器。3:打开根目录查看是否创建成功。

2301_81177969的博客 361

nginx搭建本地服务器 正向代理 反向代理 动态资源 静态资源

前言 在互联网架构中服务器分为Web服务器和应用服务器。 Web服务器:一般指像nginx、apache这类的服务器,web服务器一般只能解析静态资源; 应用服务器:一般指像tomcat、jetty、resin这类的服务器,可以解析动态资源,也可以解析静态资源,但解析静态资源的能力没有web服务器好。(关于静态资源和动态资源,在本文的最后有说明) 一般都是只有web服务器才能被外网访问,应用服务...

蒲公英芽的博客 3223

310-个人博客搭建(主要为后端搭建)

以小白的角度讲解从0开始搭建博客过程,后端服务器主要用到阿里云,配置主要使用命令行的方式(从最基础的角度搭建,帮助理解)。其中包括了搭建方式概览,帮助我们建立整体架构,同时我有遇到疑惑的地方,也会用知识点或问题的形式写到这篇文章中。

2401_86230056的博客 1489

个人电脑如何搭建服务器?或远程连接

先来介绍下我自己的情况: 1。我所进行实验的环境是在我们学校的校园网中。(当然我所介绍的不仅仅适用于校园网,相反地,一般的家庭宽带相对校园网来说更加容易设置。) 2。我们学校是动态分配IP地址的,所以分到我们宿舍端口里的IP地址是动态的,不是固定的。 3。我的电脑是处在我们宿舍的路由器下的,我们宿舍的路由器也是动态分配IP地址的。 下面我来详细地介绍: 一:情况分析 个人电...

lilili260 3万+

web服务器

www是world wide web的缩写,即全球信息广播系统。它通过结合文字、图形、影像和声音等多媒体元素,使用超链接技术,使用户可以通过Internet访问和获取所需的信息。当用户连接到一个www网站时,该网站会提供数据,用户的客户端需要使用浏览器来解析这些数据。

zjf6666666的博客 864

【云计算】网站建设:简单动态网站搭建

静态网站:静态网站是指全部由HTML(标准通用标记语言的子集)代码格式页面组成的网站,所有的内容包含在网页文件中。网页上也可以出现各种视觉动态效果,如GIF动画、FLASH动画、滚动字幕等,而网站主要是静态化的页面和代码组成,一般文件名均以htm、html、shtml等为后缀。动态网站:动态网站并不是指具有动画功能的网站,而是指网站内容可根据不同情况动态变更的网站,一般情况下动态网站通过数据库进行...

weixin_34006965的博客 720
上一篇: 动态资源与静态资源
下一篇: Nginx搭建动态静态服务器
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值