DEV Community

Cover image for Local file communication

Local file communication

உங்கள் லோக்கல் (Local) ஃபைல்களைத் திறக்கும்போது ஏன் 'HTTP Call' அல்லது 'Network Request' நடக்கிறது என்பதற்கான விளக்கம் இதோ:

1. 'Request' என்பது ஒரு தகவல் தொடர்பு (Communication)

  • ஜாவாஸ்கிரிப்ட் மற்றும் பிரவுசரைப் பொறுத்தவரை, ஒரு ஃபைலைத் திறப்பது என்பது ஒரு "ஆர்டர்" கொடுப்பது போன்றது.
  • உங்கள் HTML ஃபைல் லோக்கல் டிஸ்க்கில் (C: Drive அல்லது D: Drive) இருந்தாலும், பிரவுசர் அதை நேரடியாகப் படிக்காது.
  • மாறாக, பிரவுசரின் ஒரு பகுதி (Client) உங்கள் கம்ப்யூட்டரின் மற்றொரு பகுதியிடம் (File System) அந்த ஃபைலைத் தரும்படி ஒரு ரிக்வெஸ்ட் கேட்கும். இந்தத் தொடர்புதான் நெட்வொர்க் டேப்பில் பதிவாகிறது.

2. ஏன் இது 'HTTP' ஆகக் காட்டப்படுகிறது?

  • பொதுவாக இணையதளங்கள் http:// அல்லது https:// மூலம் இயங்கும். ஆனால் லோக்கல் ஃபைல்கள் file:/// என்ற புரோட்டோகால் மூலம் இயங்கும்.

  • Chrome போன்ற நவீன பிரவுசர்கள், அனைத்து வகையான டேட்டா பரிமாற்றங்களையும் (அது லோக்கல் ஃபைலாக இருந்தாலும் சரி) ஒரே மாதிரியான Network Log-ல் காட்டுகின்றன.
  • நீங்கள் ஒரு HTML-ஐத் திறந்தால், அதில் உள்ள CSS, Images மற்றும் JS கோப்புகளை ஒவ்வொன்றாகப் பெற பிரவுசர் தனித்தனி 'Internal Requests' அனுப்பும்.

3. JavaScript Point of View (JS ஏன் இதைச் செய்கிறது?)

  • ஜாவாஸ்கிரிப்ட் கோப்புகள் இயங்க வேண்டுமானால், அவை முதலில் பிரவுசரின் மெமரிக்குள் (Memory) வர வேண்டும்.
  • Parsing: பிரவுசர் உங்கள் HTML-ஐ வாசிக்கும்போது, <script src="script.js"> என்ற வரியைப் பார்த்தால், உடனே அந்த ஃபைலைத் தேடி ஒரு ரிக்வெஸ்ட் அனுப்பும்.
  • Security (CORS): நீங்கள் லோக்கல் ஃபைலை நேரடியாகத் திறக்கும்போது (Double click), சில ஜாவாஸ்கிரிப்ட் வேலைகள் (உதாரணமாக: fetch() அல்லது APIs) பாதுகாப்பு காரணங்களுக்காகத் தடுக்கப்படலாம். ஏன்னென்றால், file:// முறையில் ரிக்வெஸ்ட் அனுப்புவது பாதுகாப்பற்றதாக பிரவுசர் கருதுகிறது.

4. எப்போது இது மாறும்?

  • நீங்கள் Live Server (VS Code extension) அல்லது லோக்கல் ஹோஸ்ட் (Localhost) பயன்படுத்தினால், அது உண்மையான HTTP Request ஆக மாறும்.
  • Localhost: இங்கே ஒரு குட்டி சர்வர் உங்கள் கம்ப்யூட்டருக்குள்ளேயே ஓடும். இது file:// என்பதை விட http://localhost:5500 என இயங்குவதால், ஒரிஜினல் இணையதளம் போலவே வேலை செய்யும்.
  • சுருக்கமாக: உங்கள் ஃபைல்கள் கம்ப்யூட்டருக்கு உள்ளேயே இருந்தாலும், பிரவுசர் அவை ஒவ்வொன்றையும் தனித்தனியாகத் திரட்டி (Fetch) ஒரு பக்கமாக உருவாக்க வேண்டியுள்ளது. அந்தத் "திரட்டும்" செயலே நெட்வொர்க் டேப்பில் ரிக்வெஸ்ட்டாகத் தெரிகிறது.

Top comments (0)