Wat is het INC-bestandsformaat?
Een .inc-bestand in de webcontext is een HTML-fragment dat is ontworpen om door een webserver in andere pagina's te worden ingevoegd met behulp van Server Side Includes (SSI). SSI ontstond rond 1994 met de NCSA HTTPd-server; de mod_include-module van Apache werd later de dominante implementatie en wordt nog steeds onderhouden in Apache 2.4.x.
De webserver verwerkt SSI-richtlijnen die zijn geschreven in HTML-commentaarsyntaxis - bijvoorbeeld <!--#include virtual="/header.inc" --> - en vervangt het fragment in het samengestelde antwoord voordat het naar de browser wordt verzonden. De browser ontvangt het .inc-bestand nooit rechtstreeks; deze ziet alleen de samengevoegde HTML-output.
Typische toepassingen zijn herbruikbare elementen voor de hele site, zoals paginakopteksten, voetteksten en navigatiebalken. Omdat elke wijziging in het .inc-bestand onmiddellijk wordt doorgevoerd op elke pagina die het bevat, bood SSI een primitieve vorm van server-side templating voordat PHP en andere scripttalen de standaard werden.
De extensie .inc is een conventie zonder afgedwongen formaat: dezelfde extensie wordt ook gebruikt door PHP-include-bestanden, assembler-include-bestanden en Delphi/Pascal-bronfragmenten. Een .inc-bestand bedoeld voor SSI is platte UTF-8 of ASCII-tekst - een HTML-fragment zonder <html>, <head> of <body> wrappers. SSI is grotendeels verouderd voor nieuwe projecten, vervangen door PHP include/require, template-engines zoals Jinja2 en Twig, en statische site-generatoren zoals Jekyll of Hugo.
Beveiliging & veiligheid
RISICO: LOWEen .inc-bestand is platte tekst - het bevat geen uitvoerbare binaire code en is op zichzelf geen malwarevector. Een .inc-bestand met PHP- of SSI-code die door een server wordt verwerkt, wordt echter wel op de server uitgevoerd; een kwaadaardig opgesteld .inc-bestand met server-side code kan schade aanrichten als het naar een server wordt geüpload en wordt ingevoegd. Als een bestand dat u downloadt en opent in een tekstverwerker: veilig. Het grootste risico is een webserver die verkeerd is geconfigureerd om .inc-bestanden rechtstreeks te serveren (waardoor bijvoorbeeld databasegegevens in een config.inc worden blootgesteld).
Formaatdetails
in een notendop- PHP Include-bestand - PHP-ontwikkelaars noemen ingevoegde PHP-codefragmenten vaak met de extensie .inc (bijv. config.inc, db.inc); deze worden aan de serverzijde verwerkt door PHP en nooit rechtstreeks aan browsers geserveerd.
- Assembler/Pascal/Delphi Include-bestand - Veel programmeertalen (x86 assembler NASM/MASM, Pascal/Delphi, Fortran) gebruiken .inc voor include-bestanden die constanten, macro's of gedeelde declaraties bevatten.
- Game/Engine Data Include - Game-engines waaronder GZDoom (DECORATE/ZScript), Quake/Source engine en AutoHotkey gebruiken .inc voor data- of scriptfragmenten die in grotere scripts worden ingevoegd.
Programma's die INC-bestanden openen
Technische details
diepe specificaties| Bestandstype | Platte tekst - HTML-fragment (gedeeltelijke pagina-inhoud zonder structurele wrappers) |
| MIME-type | text/html (primair); text/plain (alternatief) |
| Codering | UTF-8 of ASCII - komt overeen met de codering van de invoegende pagina |
| Compressie | Geen - ongecomprimeerde platte tekst |
| Versleuteling | Geen - toegang gecontroleerd op webserverniveau, niet op het bestand |
| Typische grootte | Minder dan 10 KB (herbruikbaar HTML-fragment zoals een header of footer van een site) |
| Magic bytes | Geen - plat tekstbestand zonder binaire handtekening |
| SSI-richtlijn syntaxis | HTML-commentaarsyntaxis: <!--#include virtual="/pad/bestand" --> of <!--#include file="relatief/pad" --> |
| Serververwerking | Apache mod_include of Nginx ngx_http_ssi_module verwerkt richtlijnen en injecteert het fragment voordat het antwoord naar de browser wordt verzonden |
| Zichtbaarheid in browser | De browser ontvangt het .inc-bestand nooit rechtstreeks - ontvangt alleen het volledig samengestelde HTML-antwoord |
| IIS-ondersteuning | Ondersteund via de IIS Server Side Includes (SSINC) module op Windows |
| Bijbehorend OS | Linux, Windows, macOS (elk besturingssysteem waarop Apache, Nginx of IIS draait) |
| Veelvoorkomend gebruik | Headers, footers en navigatiebalken voor de hele site - HTML-fragmenten die op meerdere pagina's worden hergebruikt |
| Vervangen door | PHP include/require, Jinja2, Twig en statische site-generatoren (Jekyll, Hugo, Next.js) voor nieuwe ontwikkeling |
| Uitgebracht | ~1994 (NCSA HTTPd server includes); Apache adopted and extended |
| Laatste versie | N/A - SSI is a static web technology; Apache mod_include still maintained in Apache 2.4.x |
| Open standaard | Ja · royaltyvrij |
| Specificatie | httpd.apache.org |
INC conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over INC-bestanden.