Server IP : 103.119.228.120 / Your IP : 18.226.200.93 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/ssl/local/ssl/local/ssl/local/apache.backup/manual/ |
Upload File : |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> <title>Apache HTTP Sunucusu 2.2’de Yeni olan Özellikler - Apache HTTP Sunucusu Sürüm 2.4</title> <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" /> <script src="./style/scripts/prettify.min.js" type="text/javascript"> </script> <link href="./images/favicon.ico" rel="shortcut icon" /></head> <body id="manual-page"><div id="page-header"> <p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p> <p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> <img alt="" src="./images/feather.png" /></div> <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> <div id="path"> <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache HTTP Sunucusu 2.2’de Yeni olan Özellikler</h1> <div class="toplang"> <p><span>Mevcut Diller: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | <a href="./tr/new_features_2_2.html" title="Türkçe"> tr </a></p> </div> <p>Bu belgede Apache HTTP Sunucusunun 2.0 ve 2.2 sürümleri arasındaki başlıca farklara değinilmiştir. 1.3 sürümüne göre yeni özellikler için <a href="new_features_2_0.html">Apache 2.0’da Yeni olan Özellikler</a> belgesine bakınız.</p> </div> <div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Çekirdekteki Gelişmeler</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#module">Modüllerdeki Gelişmeler</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#programs">Programlardaki Gelişmeler</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#developer">Modül Geliştirici Değişiklikleri</a></li> </ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div> <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> <div class="section"> <h2><a name="core" id="core">Çekirdekteki Gelişmeler</a></h2> <dl> <dt>Authn/Authz</dt> <dd>Mevcut kimlik doğrulama ve yetkilendirme modüllerinin iç işleyişi yeniden düzenlendi. Yeni <code>mod_authn_alias</code> modülü (2.3/2.4 sürümlerinde kaldırılmıştır) belli kimlik doğrulama yapılandırmalarını büyük oranda basitleştirebilir. Bu değişikliklerin kullanıcıları ve modül yazarlarını nasıl etkilediğini öğrenmek için <a href="#module">modül değişikliklerine</a> ve <a href="#developer">geliştirici değişikliklerine</a> bakabilirsiniz.</dd> <dt>Önbellekleme</dt> <dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>, <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code> ve <code>mod_mem_cache</code> (2.3/2.4 sürümlerinde kaldırılmıştır) modüllerinde büyük oranda değişikliğe gidilerek bunlar deneysel olmaktan çıkarılıp üretim amaçlı modüller haline getirildiler. <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code> tarafından kullanılan disk alanının <code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code> tarafından düzenli aralıklarla temizlenebilmesi sağlandı.</dd> <dt>Yapılandırma</dt> <dd>Öntanımlı yapılandırma basitleştirildi ve modüler bir yapıya kavuşturuldu. Sık kullanılan ortak özellikleri etkinleştirmekte kullanılan yapılandırmalar gruplanarak bunların Apache ile gelmesi ve ana sunucu yapılandırılırken yapılandırmaya kolayca eklenebilmesi sağlandı.</dd> <dt>Nazikçe Durdurma</dt> <dd><code class="module"><a href="./mod/prefork.html">prefork</a></code>, <code class="module"><a href="./mod/worker.html">worker</a></code> ve <code class="module"><a href="./mod/event.html">event</a></code> MPM’leri artık <code class="program"><a href="./programs/httpd.html">httpd</a></code>’yi <a href="stopping.html#gracefulstop"><code>graceful-stop</code></a> sinyali sayesinde nazikçe durdurabilmektedir. <code class="program"><a href="./programs/httpd.html">httpd</a></code> programının sonlandırılmasındaki gecikmelere karşı bir önlem olarak, isteğe bağlı bir zaman aşımı belirtmeyi mümkün kılan <code class="directive"><a href="./mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> yönergesi sayesinde sunum sürüyor olsa bile <code class="program"><a href="./programs/httpd.html">httpd</a></code> sonlandırılabilmektedir.</dd> <dt>Vekil Sunucu</dt> <dd>Yeni <code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> modülü ile <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> için yük dengeleme hizmetleri sağlanmış, yeni <code class="module"><a href="./mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> modülü ile <a href="http://tomcat.apache.org/">Apache Tomcat</a> tarafından kullanılan <em>Apache JServ Protokolünün 1.3 sürümü</em> için destek eklenmiştir.</dd> <dt>Düzenli İfade Kütüphanesi Güncellemesi</dt> <dd>Apache, <a href="http://www.pcre.org/">Perl uyumlu düzenli ifade kütüphanesinin 5.0 sürümünü</a> (PCRE) içermektedir. <code class="program"><a href="./programs/configure.html">configure</a></code> betiğinin <code>--with-pcre</code> seçeneği sayesinde <code class="program"><a href="./programs/httpd.html">httpd</a></code> programı PCRE destekli olarak derlenebilmektedir.</dd> <dt>Akıllı Süzme</dt> <dd><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code> çıktı süzgeç zincirinin devingen olarak yapılandırılmasını sağlar. Süzgeçlerin herhangi bir istek veya yanıt başlığına veya bir ortam değişkenine dayanarak koşullu olarak yerleştirilmesini mümkün kılar ve bunu yaparken 2.0 mimarisindeki sorunlu bağımlılıklar ve sıralama sorunlarının da üstesinden gelir.</dd> <dt>Büyük Dosya (>2GB) Desteği</dt> <dd><code class="program"><a href="./programs/httpd.html">httpd</a></code> artık günümüzün 32 bitlik Unix sistemlerinde bulunan 2 GB’lık büyük dosyaları destekleyecek tarzda derlenebilmektedir. 2 GB’lık istek gövdelerine destek de ayrıca eklenmiştir.</dd> <dt>Event MPM</dt> <dd><code class="module"><a href="./mod/event.html">event</a></code> MPM modülü sürekli bağlantı isteklerinin işlenmesi ve bağlantıların kabul edilmesi için ayrı bir evre kullanır. Sürekli bağlantı (keepalive) isteklerinin işlenmesi geleneksel olarak httpd’nin buna bir <code class="module"><a href="./mod/worker.html">worker</a></code> adamasını gerektirirdi. Bu adanmış <code class="module"><a href="./mod/worker.html">worker</a></code> bağlantı zaman aşımına uğrayıncaya değin tekrar kullanılamazdı.</dd> <dt>SQL Veritabanı Desteği</dt> <dd><code class="module"><a href="./mod/mod_dbd.html">mod_dbd</a></code> modülü <code>apr_dbd</code> arayüzü ile birlikte, ihtiyacı olan modüllere SQL desteği sağlar. Evreli MPM’ler için bağlantı havuzlamasını destekler.</dd> </dl> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> <div class="section"> <h2><a name="module" id="module">Modüllerdeki Gelişmeler</a></h2> <dl> <dt>Authn/Authz</dt> <dd>Kimlik Doğrulama, Yetkilendirme ve Erişim Denetimi ile ilgili modüller özetli kimlik doğrulamasına daha iyi destek sağlamak amacıyla yeniden isimlendirildi. Örneğin, <code>mod_auth</code> modülü şimdi <code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code> ve <code class="module"><a href="./mod/mod_authn_file.html">mod_authn_file</a></code> diye iki modüle bölünmüştür.; <code>mod_auth_dbm</code> modülünün ismi <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ve <code>mod_access</code> modülünün ismi de <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code> olarak değiştirilmiştir. Ayrıca, belli kimlik doğrulama yapılandırmalarını basitleştirmek üzere <code>mod_authn_alias</code> diye yeni bir modül vardır (2.3/2.4 sürümlerinde kaldırılmıştır). </dd> <dt><code class="module"><a href="./mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></dt> <dd>Bu modül 2.0 sürümü <code>mod_auth_ldap</code> modülünün 2.2 <code>Authn/Authz</code> arayüzüne bir uyarlamasıdır. <code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code> yönergesine LDAP öznitelik değerlerinin ve karmaşık arama süzgeçlerinin kullanımı gibi yeni özellikler eklenmiştir.</dd> <dt><code class="module"><a href="./mod/mod_authz_owner.html">mod_authz_owner</a></code></dt> <dd>Dosya sistemi üzerindeki dosyalara erişimi dosya sahibine göre düzenleyebilmeyi sağlayan yeni bir modüldür.</dd> <dt><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></dt> <dd>Çalışan sunucunun sürüm numarasına göre belli yapılandırma bloklarını etkinleştirebilen bir modüldür.</dd> <dt><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></dt> <dd>Apache tarafından çözümlenen haliyle yapılandırma yönergelerinin gösterilmesini sağlayan yeni <code>?config</code> parametresini ekler. Modül ayrıca, <code>httpd -V</code>’nin yaptığı gibi ek olarak derleme bilgisini ve tüm istek kancalarının sırasını da gösterir.</dd> <dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></dt> <dd>TLS şifrelemesini HTTP/1.1 için güncelleyen <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a> için destek sağlar.</dd> <dt><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></dt> <dd><code>mod_imap</code> modülünün ismi yanlış anlamalara meydan vermemek için <code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> olarak değiştirildi.</dd> </dl> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> <div class="section"> <h2><a name="programs" id="programs">Programlardaki Gelişmeler</a></h2> <dl> <dt><code class="program"><a href="./programs/httpd.html">httpd</a></code></dt> <dd>Mevcut yapılandırmaya göre yüklenen modülleri listelemek için <code>-M</code> diye yeni bir komut satırı seçeneği eklendi. <code>-l</code> seçeneğinin aksine, bu seçenekle elde edilen liste <code class="module"><a href="./mod/mod_so.html">mod_so</a></code> üzerinden yüklenen DSO’ları içerir.</dd> <dt><code class="program"><a href="./programs/httxt2dbm.html">httxt2dbm</a></code></dt> <dd><code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> yönergesinde <code>dbm</code> eşlem türü ile kullanmak üzere metin girdilerden DBM dosyaları üretmek için kullanılan yeni bir program.</dd> </dl> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> <div class="section"> <h2><a name="developer" id="developer">Modül Geliştirici Değişiklikleri</a></h2> <dl> <dt><a class="glossarylink" href="./glossary.html#apr" title="sözlüğe bakınız">APR</a> 1.0 Programlama Arayüzü</dt> <dd>Apache 2.2’de APR 1.0 API kullanılmıştır. Kullanımı önerilmeyen tüm işlevler ve simgeler <code>APR</code> ve <code>APR-Util</code>’den kaldırılmıştır. Ayrıntılar için <a href="http://apr.apache.org/">APR Sitesine bakınız</a>.</dd> <dt>Authn/Authz</dt> <dd>Dağıtımla gelen kimlik doğrulama ve yetkilendirme modüllerinin isimleri aşağıdaki gibi değiştirildi: <ul> <li><code>mod_auth_*</code> -> HTTP kimlik doğrulamasını gerçekleştiren modüller.</li> <li><code>mod_authn_*</code> -> Kimlik doğrulamasının artalanına destek sağlayan modüller.</li> <li><code>mod_authz_*</code> -> Yetkilendirmeyi (veya erişimi) gerçekleştiren modüller.</li> <li><code>mod_authnz_*</code> -> Kimlik doğrulama ve yetkilendirmeyi birlikte gerçekleştiren modüller.</li> </ul> Yeni kimlik doğrulama artalanının oluşturulmasını büyük oranda kolaylaştıran yeni bir kimlik doğrulama artalanı sağlayıcı şeması vardır.</dd> <dt>Bağlantı Hatalarının Günlüklenmesi</dt> <dd>İstemci bağlantısında ortaya çıkan hataları günlüğe kaydetmek için <code>ap_log_cerror</code> isminde yeni bir işlev eklendi. Böyle bir durumda günlük kaydı istemcinin IP adresini içermektedir.</dd> <dt>Deneme Yapılandırma Kancası Eklendi</dt> <dd>Kullanıcı, <code class="program"><a href="./programs/httpd.html">httpd</a></code>’yi sadece <code>-t</code> seçeneği ile kullandığı takdirde özel kod icra edilmesini isteyen modüllere yardımcı olmak üzere <code>test_config</code> diye yeni bir kanca işlev eklendi.</dd> <dt>Evreli MPM’lerin Yığıt Boyutunun Ayarlanması</dt> <dd>Tüm evreli MPM’lerin yığıt boyutunu ayarlamak üzere <code class="directive"><a href="./mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code> isminde yeni bir yönerge eklendi. Öntanımlı yığıt boyutunun küçük olduğu platformlarda bazı üçüncü parti modüller tarafından buna ihtiyaç duyulmaktadır.</dd> <dt>Çıktı süzgeçlerinde protokoller</dt> <dd>Evvelce her süzgeç etkilediğini yanıt başlıklarının doğru olarak üretilmesini sağlamak zorundaydı. Süzgeçler artık protokol yönetimini <code>ap_register_output_filter_protocol</code> veya <code>ap_filter_protocol</code> işlevi üzerinden <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code> modülüne devredebilmektedir.</dd> <dt>İzleme kancası eklendi</dt> <dd>İzleme kancası, modüllerin ana (tepe) süreçteki sıradan/zamanlanmış işlerini yapacak modülleri etkinleştirir.</dd> <dt>Düzenli ifade programlama aryüzü değişti</dt> <dd><code>pcreposix.h</code> başlık dosyası artık yok; yerine <code>ap_regex.h</code> dosyası geçti. Eski başlık dosyasınca ifade olunan POSIX.2 <code>regex.h</code> gerçeklenimi şimdi <code>ap_</code> isim alanı altında <code>ap_regex.h</code> başlık dosyasındadır. <code>regcomp</code>, <code>regexec</code> gibi işlevlerin yerine de artık <code>ap_regcomp</code>, <code>ap_regexec</code> işlevleri geçerlidir.</dd> <dt>DBD Arayüzü (SQL Veritabanı API)</dt> <dd><p>Apache 1.x ve 2.0’da, modüller, SQL veritabanlarını kendileri yönetebilmek için sorumluluğu alacak bir SQL artalanına ihtiyaç duymaktadır. Her biri kendi bağlantısına sahip bir sürü modül olduğunda bu yöntem çok verimsiz olabilmektedir.</p> <p>Apache 2.1 ve sonrasında veritabanı bağlantılarını (evreli olsun olmasın MPM’lerin eniyilenmiş stratejileri dahil) yönetmek için <code>ap_dbd</code> arayüzü kullanılmıştır. APR 1.2 ve sonrasında ise veritabanı ile etkileşim <code>apr_dbd</code> arayüzüyle sağlanmıştır.</p> <p>Yeni modüllerin tüm SQL veritabanı işlemlerinde bu arayüzü kullanmaları ÖNERİlir. Mevcut uygulamaların uygulanabildiği takdirde hem kullanıcılarına önerilen bir seçenek olarak hem de şeffaf olarak kullanmak üzere kendilerini güncellemeleri ÖNERİir.</p></dd> </dl> </div></div> <div class="bottomlang"> <p><span>Mevcut Diller: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | <a href="./tr/new_features_2_2.html" title="Türkçe"> tr </a></p> </div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorum</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> <script type="text/javascript"><!--//--><![CDATA[//><!-- var comments_shortname = 'httpd'; var comments_identifier = 'http://httpd.apache.org/docs/2.4/new_features_2_2.html'; (function(w, d) { if (w.location.hostname.toLowerCase() == "httpd.apache.org") { d.write('<div id="comments_thread"><\/div>'); var s = d.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); } else { d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); } })(window, document); //--><!]]></script></div><div id="footer"> <p class="apache">Copyright 2018 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> <p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- if (typeof(prettyPrint) !== 'undefined') { prettyPrint(); } //--><!]]></script> </body></html>