Recomendado: sobre a separação do código e página ASP Para evitar dificuldades de manutenção causadas pelo mal -entendido do código da ASP, este artigo apresenta um método para usar modelos para separar programas e páginas para facilitar a programação. Ao usar asp para criar um site, um arquivo ASP geralmente aparece, código do programa e HTM
Existem muitos benefícios para converter páginas dinâmicas para gerar arquivos HTML estáticos, como a geração de páginas da Web HTML é propícia a ser incluída pelos mecanismos de pesquisa (especialmente para páginas que aceitam parâmetros dinâmicos). Ao acessar a recepção, ele é separado do acesso a dados, aliviando a pressão no acesso ao banco de dados e acelerando a abertura das páginas da web.
Obviamente, tudo tem suas vantagens e desvantagens. A geração de páginas HTML consome invisivelmente muito espaço em disco para armazenar esses arquivos estáticos. Além de ler e escrever o banco de dados durante o processo de edição, você também precisa ler e escrever o disco do servidor. Alterações nos estilos de página devem regenerar todos os arquivos HTML, etc.
Por exemplo, muitos mecanismos de pesquisa podem enviar uma lista de endereços da página do site. A inclusão de arquivos dinâmicos não é mais um problema (como o Google Sitemap). Temos que medir e entender os ganhos e as perdas por nós mesmos, mas não importa o quê, ainda precisamos saber como operar. Aqui vou citar os artigos de outras pessoas para explicar várias idéias de geração comum para sua referência.
1. O exemplo a seguir usa diretamente o FSO para gravar o código HTML em um arquivo e, em seguida, gerar um formato de arquivo .html. Este é o mais primitivo. A vantagem é que é simples e a desvantagem é que a modificação da página é inconveniente. O local que eu costumo usar é usá -lo para gerar todo o arquivo de parâmetro do site. (Geralmente, o site como título, nome, etc. são armazenados no banco de dados. Eu gero config.asp para salvar essas chamadas variáveis para evitar acesso frequente ao banco de dados)
| A seguir, o conteúdo citado: <% arquivo de arquivo = test.htm se solicitar (corpo) <> então set fso = server.createObject (script.filesystemoBject) Definir htmlwrite = fso.createTextFile (Server.mappath (& FileName &)) htmlwrite.write < html> < Head> < title> & request.form (título) & </title> </Head> htmlwrite.write < corpo> saída título Conteúdo: & request.form (título) & < Br/> Saída do corpo do corpo: & request.form (corpo) & </body> </html> htmlwrite.close Definir Fout = nada Defina FSO = nada final se %> < Nome do formulário = Método de formulário = Post Action => < Nome de entrada = Valor do título = Tamanho do título = 26> <br> < Nome da textarea = corpo> corpo </textarea> <br> <br> < Tipo de entrada = Nome de envio = Valor de envio = Gere Html> </forma> |
2. No entanto, é muito inconveniente gerar um arquivo HTML de acordo com o método acima. O segundo método é usar a tecnologia de modelo para substituir o valor do código especial no modelo pelo valor aceito do formulário ou campo de banco de dados, preencher a função do modelo e gerar arquivos HTML com todos os códigos de modelo que foram finalmente substituídos. Essa tecnologia é usada com mais frequência, e a maioria dos CMSs usa esse método.
| A seguir, o conteúdo citado: modelo de modelo de modelo '// < html> < Head> < Title> $ Title $ por Cuoxin.com </Title> </Head> < Corpo> $ corpo $ </corpo> </html> TestTemplate.asp '// gerar html <% Dim FSO, htmlWrite Dim strtitle, strcontent, strout '// Crie um objeto de sistema de arquivos Set fso = server.createObject (script.filesystemoBject) '// Abra o arquivo de modelo da web e leia o conteúdo do modelo Definir htmlwrite = fso.opentExtfile (server.mappath (template.htm)) strout = f.readall htmlwrite.close strtitle = o título da página da web gerada strContent = o conteúdo da página da web gerada '// Substitua as tags no modelo por conteúdo real strout = substituir (strout, $ title $, strtitle) strout = substituir (strout, $ body $, strcontent) '// Crie a página estática a ser gerada Definir htmlwrite = fso.createTextFile (server.mappath (test.htm), true) '// Escreva conteúdo na página da web htmlwrite.writeline strout htmlwrite.close Response.Write A página estática foi gerada com sucesso! '// Libere o objeto do sistema de arquivos Definir htmlwrite = nada Defina FSO = nada %> |
3. O terceiro método é usar o XMLHTTP para obter o conteúdo HTML gerado pela página dinâmica e, em seguida, usar adodb.stream ou script.FilesystemObject para salvá -lo em um arquivo html. Encontre um pedaço de código para gerar HTML para XMLHTTP.
| A seguir, o conteúdo citado: <% 'Funções comuns '1. Digite o endereço da página da Web de destino URL e o valor de retorno Gethttppage é o código HTML da página da web de destino Função Gethttppage (URL) Dim http Definir http = server.createObject (msxml2.xmlHttp) Http.open get, url, falso Http.send () Se http.readyState <> 4 então função de saída final se gethttppage = bytestobstr (http.Responsebody, GB2312) Defina http = nada se err.number <> 0, então err.clear Função final '2. Converta Lanma, ligue diretamente uma página da Web com caracteres chineses com XMLHTTP, você receberá Lanma, que pode ser convertido através do componente Adodb.stream. Função bytestobstr (corpo, cset) objStream dim set objStream = server.createObject (adodb.stream) objstream.type = 1 objstream.mode = 3 objstream.open objstream.write corpo objstream.Position = 0 objstream.type = 2 objstream.charset = cset Bytestobstr = objStream.readText objstream.close definir objstream = nada Função final txturl = server.mappath (../ index.asp) Stext = Gethttppage (txturl) Set fileObject = server.createObject (script.filesystemoBject) nome do arquivo = ../index.htm Set openfile = fileObject.opentExtfile (server.mappath (nome do arquivo), 2, true) 'true é criado por si mesmo se não existir OpenFile.WriteLine (Stext) Definir OpenFile = nada %> < Script> alerta (geração estática da página da web é concluída); history.back (); </script> |
Resumo, esses três métodos são os métodos mais usados para gerar arquivos HTML. Prefiro usar o terceiro método porque as alterações da página são muito convenientes. Mesmo que a página dinâmica mude, é boa. Basta usar o XMLHTTP para ler e gerá -lo mais uma vez.
Compartilhar: Design de compatibilidade de cache para aplicativos da Web Depois de passar o proxy, uma vez que uma camada intermediária é adicionada entre o cliente e o serviço, o servidor não pode obter diretamente o IP do cliente e o aplicativo do lado do servidor não pode retornar diretamente ao cliente através do endereço de encaminhamento. No entanto, nas informações do cabeçalho HTTP das solicitações de encaminhamento, http_x é adicionado