Рекомендуется: о разделении кода ASP и страницы Чтобы избежать трудностей с техническим обслуживанием, вызванных недопониманием программы ASP -программы TML, в этой статье представлен метод использования шаблонов для разделения программ и страниц для облегчения программирования. При использовании ASP для создания сайта часто появляется файл ASP, программный код и HTM
Существует много преимуществ для преобразования динамических страниц для генерации статических файлов HTML, таких как генерация веб -страниц HTML, способствует включению поисковых систем (особенно для страниц, которые принимают динамические параметры). При доступе к стойке регистрации он отделен от доступа к данным, облегчая давление на доступ к базе данных и ускоряет открытие веб -страниц.
Конечно, у всего есть свои преимущества и недостатки. Создание HTML -страниц невидимо потребляет много дискового пространства для хранения этих статических файлов. В дополнение к чтению и написанию базы данных в процессе редактирования, вам также необходимо прочитать и написать серверный диск. Изменения в стилях страниц должны регенерировать все файлы HTML и т. Д.
Например, многие поисковые системы могут отправить список адресов страницы веб -сайта. Включение динамических файлов больше не является проблемой (например, Google Sitemap). Мы должны измерить и схватить выгоды и убытки сами, но несмотря ни на что, нам все еще нужно знать, как работать. Здесь я процитирую статьи других людей, чтобы объяснить несколько идей простого поколения для вашей ссылки.
1. В следующем примере непосредственно используется FSO для записи HTML -кода в файл, а затем сгенерировать формат файла .html. Это самый примитивный. Преимущество заключается в том, что это просто, и недостаток в том, что модификация страницы неудобна. Место, которое я обычно использую, - это использовать его для генерации всего файла параметров сайта. (Обычно веб -сайт, такой как заголовок, имя и т. Д., Хранится в базе данных. Я генерирую config.asp, чтобы сохранить эти вызовы переменных, чтобы избежать частого доступа к базе данных)
| Ниже приведено цитируемое содержание: <% filename = test.htm Если запрос (тело) <> Тогда Установить fso = server.createObject (scripting.filesystemobject) Установить htmlWrite = fso.createTextFile (server.mappath (& filename &)) htmlwrite.write < html> < Head> < title> & request.form (title) & </title> </Head> htmlwrite.write < Body> Содержание вывода заголовка: & request.form (title) & < Br/> Содержание вывода тела: & request.form (body) & </body> </html> htmlwrite.close Установить fout = ничего Установить FSO = ничего конец, если %> < Имя формы = Форма метод = post action => < Имя ввода = значение заголовка = размер заголовка = 26> <br> < Textarea name = Body> Body </Textarea> <br> <br> < Тип ввода = отправить имя = отправить значение = генерировать HTML> </form> |
2. Однако очень неудобно генерировать HTML -файл в соответствии с вышеуказанным методом. Второй метод состоит в том, чтобы использовать технологию шаблона для замены значения специального кода в шаблоне со значением, принятым в поле формы или базы данных, выполнить функцию шаблона и генерировать HTML -файлы со всеми кодами шаблона, которые были окончательно заменены. Эта технология используется чаще, и большинство CMS используют этот метод.
| Ниже приведено цитируемое содержание: Template.htm '// Файл шаблона < html> < Голова> < Название> $ title $ by cuoxin.com </title> </Head> < Тело> $ body $ </тело> </html> Testtemplate.asp '// генерировать html <% Dim fso, HtmlWrite Dim Strtitle, Strcontent, Strout '// Создать объект файловой системы Установить fso = server.createObject (scripting.filesystemobject) '// Откройте файл веб -шаблона и прочитайте содержимое шаблона Установить htmlWrite = fso.opentextfile (server.mappath (template.htm)) strout = f.readall htmlwrite.close strtitle = сгенерированная заголовок веб -страницы strcontent = сгенерированное контент веб -страницы '// заменить теги в шаблоне реальным контентом strout = reply (strout, $ title $, strtitle) strout = reply (strout, $ body $, strcontent) '// Создать статическую страницу, которая будет сгенерирована Установить htmlWrite = fso.createTextFile (server.mappath (test.htm), true) '// Написать контент на веб -страницу htmlwrite.writeline strout htmlwrite.close Response.Write Статическая страница была успешно сгенерирована! '// Отпустите объект файловой системы Установить htmlwrite = ничего Установить FSO = ничего %> |
3. Третий метод состоит в том, чтобы использовать XMLHTTP для получения контента HTML, сгенерированного динамической страницей, а затем использовать adodb.stream или scripting.filesystemobject, чтобы сохранить его в файл html. Найдите кусок кода для генерации HTML для XMLHTTP.
| Ниже приведено цитируемое содержание: <% 'Общие функции 1. Введите адрес веб -страницы назначения URL -адреса, и возвращаемое значение gethttpage - это HTML -код веб -страницы назначения. функция gethttppage (url) Dim http Установить http = server.createObject (msxml2.xmlhttp) Http.open get, url, false Http.send () Если http.readystate <> 4 то Выходная функция конец, если gethttppage = bytestobstr (http.responsebody, gb2312) Установите http = ничего Если err.number <> 0, то err.clear конечная функция 2. Преобразовать Lanma, напрямую вызовите веб -страницу с китайскими именами с xmlhttp, вы получите Lanma, которая может быть преобразована через компонент Adodb.stream. Функция Bytestobstr (тело, CSET) Dim objstream Установить objstream = server.createObject (adodb.stream) objstream.type = 1 objstream.mode = 3 objstream.open objstream.write Тело objstream.position = 0 objstream.type = 2 objstream.charset = cset Bytestobstr = objstream.readtext objstream.close установить objstream = ничего Конечная функция txturl = server.mappath (../ index.asp) stext = gethttppage (txturl) Set fileObject = server.createObject (scripting.filesystemobject) filename = ../index.htm SET OPENFILE = fileObject.opentextfile (server.mappath (filename), 2, true) 'true создается сама по себе, если он не существует OpenFile.WriteLine (Stext) Установите OpenFile = ничего %> < Сценарий> оповещение (статическое поколение веб -страницы завершено); История.back (); </Скрипт> |
Резюме, эти три метода являются наиболее часто используемыми методами генерации HTML -файлов. Я предпочитаю использовать третий метод, потому что изменения страницы очень удобны. Даже если динамическая страница изменится, это хорошо. Просто используйте Xmlhttp, чтобы прочитать и сгенерировать его еще раз.
Поделиться: дизайн совместимости кэша для веб -приложений После передачи прокси, поскольку между клиентом и службой добавляется промежуточный уровень, сервер не может напрямую получить IP-адрес клиента, а приложение на стороне сервера не может напрямую вернуться к клиенту по адресу пересылки. Однако в информации HTTP -заголовка запросов на пересылку добавляется http_x