ஜாவாஸ்கிரிப்டில் பாதுகாப்பான URL குறியாக்கத்தை உறுதி செய்தல்
இணைய வளர்ச்சியைக் கையாளும் போது URLகளை குறியாக்கம் செய்வது மிகவும் முக்கியமானது, குறிப்பாக GET சரங்கள் வழியாக அளவுருக்கள் அனுப்பப்பட வேண்டும். ஜாவாஸ்கிரிப்ட்டில், URL சரியாக வடிவமைக்கப்பட்டுள்ளதா என்பதை உறுதிசெய்ய குறிப்பிட்ட முறைகள் உள்ளன, இது சிறப்பு எழுத்துகளுடன் சாத்தியமான சிக்கல்களைத் தடுக்கிறது.
ஜாவாஸ்கிரிப்டில் URL ஐ பாதுகாப்பாக குறியாக்கம் செய்யும் செயல்முறையின் மூலம் இந்தக் கட்டுரை உங்களுக்கு வழிகாட்டும். மற்றொரு URL சரத்தில் பாதுகாப்பாகச் சேர்க்க, URL மாறியை எவ்வாறு குறியாக்கம் செய்யலாம் என்பதை விளக்குவதற்கு ஒரு எடுத்துக்காட்டு காட்சியை ஆராய்வோம்.
கட்டளை | விளக்கம் |
---|---|
encodeURIComponent | குறிப்பிட்ட எழுத்துக்களின் ஒவ்வொரு நிகழ்வையும் ஒன்று, இரண்டு, மூன்று அல்லது நான்கு தப்பிக்கும் வரிசைகளால் மாற்றுவதன் மூலம் URI கூறுகளை குறியாக்குகிறது. |
require('http') | HTTP தொகுதியை உள்ளடக்கியது, Node.js ஹைப்பர் டெக்ஸ்ட் டிரான்ஸ்ஃபர் புரோட்டோகால் (HTTP) மூலம் தரவை மாற்ற அனுமதிக்கிறது. |
require('url') | URL தொகுதியை உள்ளடக்கியது, இது URL தீர்மானம் மற்றும் பாகுபடுத்தலுக்கான பயன்பாடுகளை வழங்குகிறது. |
createServer() | Node.js இல் ஒரு HTTP சேவையகத்தை உருவாக்குகிறது, இது சர்வர் போர்ட்களைக் கேட்டு கிளையண்டிற்கு பதிலை அளிக்கிறது. |
writeHead() | HTTP நிலைக் குறியீடு மற்றும் பதில் தலைப்புகளின் மதிப்புகளை அமைக்கிறது. |
listen() | குறிப்பிட்ட போர்ட் மற்றும் ஹோஸ்ட்பெயரில் HTTP சேவையகத்தைத் தொடங்குகிறது. |
ஜாவாஸ்கிரிப்டில் URL குறியாக்கத்தைப் புரிந்துகொள்வது
ஜாவாஸ்கிரிப்ட் ஸ்கிரிப்ட் URL ஐப் பயன்படுத்தி எப்படி பாதுகாப்பாக குறியாக்கம் செய்வது என்பதை விளக்குகிறது encodeURIComponent செயல்பாடு. இந்தச் செயல்பாடு URI கூறுகளை இணையத்தில் அனுப்பக்கூடிய வடிவமைப்பாக மாற்றுகிறது, சிறப்பு எழுத்துகள் சரியாக குறியாக்கம் செய்யப்பட்டிருப்பதை உறுதி செய்கிறது. வழங்கப்பட்ட எடுத்துக்காட்டில், மாறி myUrl வினவல் அளவுருக்கள் கொண்ட URL மூலம் வரையறுக்கப்படுகிறது. பயன்படுத்தி encodeURIComponent(myUrl), இந்த URLஐ ஒரு சரமாக மாற்றுவோம், அங்கு அனைத்து சிறப்பு எழுத்துகளும் அந்தந்த சதவீத-குறியீடு செய்யப்பட்ட மதிப்புகளால் மாற்றப்படும். இந்த குறியீடாக்கப்பட்ட URL, '&' மற்றும் '=' போன்ற எழுத்துக்களில் உள்ள சிக்கல்களைத் தவிர்த்து, மற்றொரு URL இல் பாதுகாப்பாகச் சேர்க்கப்படும்.
Node.js ஸ்கிரிப்ட் URL குறியாக்கத்திற்கான சர்வர் பக்க அணுகுமுறையைக் காட்டுகிறது. இங்கே நாம் பயன்படுத்துகிறோம் require('http') HTTP சேவையகத்தை உருவாக்க தொகுதி மற்றும் require('url') URL பயன்பாடுகளுக்கான தொகுதி. தி myUrl மாறி இதேபோல் குறியாக்கம் செய்யப்படுகிறது encodeURIComponent. சர்வர், உடன் உருவாக்கப்பட்டது http.createServer, கோரிக்கைகளைக் கேட்டு, குறியிடப்பட்ட URL மூலம் பதிலளிக்கிறது. பதில் தலைப்புகளை அமைப்பதன் மூலம் இது செய்யப்படுகிறது writeHead மற்றும் உடன் பதிலை அனுப்புகிறது res.end. போர்ட் 8080 இல் சேவையகம் கேட்கத் தொடங்குகிறது listen(8080), உள்வரும் கோரிக்கைகளை கையாளவும் மற்றும் நேரடி சூழலில் URL குறியாக்கத்தை நிரூபிக்கவும் அனுமதிக்கிறது.
JavaScript இல் GET கோரிக்கைகளுக்கான URLகளை குறியாக்குதல்
ஜாவாஸ்கிரிப்ட் ஃபிரண்டண்ட் செயல்படுத்தல்
// Example of URL encoding in JavaScript
var myUrl = "http://example.com/index.html?param=1&anotherParam=2";
var encodedUrl = encodeURIComponent(myUrl);
var myOtherUrl = "http://example.com/index.html?url=" + encodedUrl;
console.log(myOtherUrl); // Outputs: http://example.com/index.html?url=http%3A%2F%2Fexample.com%2Findex.html%3Fparam%3D1%26anotherParam%3D2
Node.js ஐப் பயன்படுத்தி சர்வர் பக்க URL குறியாக்கம்
Node.js பின்தளத்தில் செயல்படுத்தல்
const http = require('http');
const url = require('url');
const myUrl = 'http://example.com/index.html?param=1&anotherParam=2';
const encodedUrl = encodeURIComponent(myUrl);
const myOtherUrl = 'http://example.com/index.html?url=' + encodedUrl;
http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(myOtherUrl);
}).listen(8080);
console.log('Server running at http://localhost:8080/');
ஜாவாஸ்கிரிப்டில் மேம்பட்ட URL குறியாக்க நுட்பங்கள்
அடிப்படை பயன்பாட்டிற்கு அப்பால் encodeURIComponent, ஜாவாஸ்கிரிப்டில் URLகளை குறியாக்கம் செய்யும் போது மற்ற முறைகள் மற்றும் பரிசீலனைகள் உள்ளன. ஒரு முக்கியமான செயல்பாடு encodeURI, இது ஒரு முழு URL ஐ குறியீடாக்கப் பயன்படுகிறது. போது encodeURIComponent ஒவ்வொரு சிறப்பு பாத்திரத்தையும் குறியாக்குகிறது, encodeURI URL இல் குறிப்பிட்ட அர்த்தங்களைக் கொண்டிருப்பதால், ':', '/', '?' மற்றும் '&' போன்ற எழுத்துக்களை அப்படியே விட்டுவிடும். இது செய்கிறது encodeURI முழு URLகளையும் குறியாக்கம் செய்வதற்கு ஏற்றது, URL இன் அமைப்பு செல்லுபடியாகும் மற்றும் இணைய உலாவிகளால் புரிந்துகொள்ளக்கூடியதாக இருப்பதை உறுதிசெய்கிறது.
கருத்தில் கொள்ள வேண்டிய மற்றொரு அம்சம் URLகளை டிகோடிங் செய்வது. இதற்கு இணையானவர்கள் encodeURIComponent மற்றும் encodeURI உள்ளன decodeURIComponent மற்றும் decodeURI, முறையே. இந்த செயல்பாடுகள் குறியிடப்பட்ட எழுத்துக்களை அவற்றின் அசல் வடிவத்திற்கு மாற்றும். சேவையக பக்கத்தில் URLகளை செயலாக்கும் போது அல்லது வினவல் அளவுருக்களை பிரித்தெடுக்கும் போது இது மிகவும் பயனுள்ளதாக இருக்கும். உதாரணமாக, பயன்படுத்தி decodeURIComponent வினவல் சரத்தின் மதிப்பு URL மூலம் அனுப்பப்பட்ட உண்மையான தரவை மீட்டெடுக்க உங்களை அனுமதிக்கும்.
URL குறியாக்கம் பற்றிய பொதுவான கேள்விகள் மற்றும் பதில்கள்
- என்ன வித்தியாசம் encodeURI மற்றும் encodeURIComponent?
- encodeURI ஒரு முழுமையான URL ஐ குறியாக்குகிறது, சிறப்பு அர்த்தங்களுடன் எழுத்துக்களைப் பாதுகாக்கிறது encodeURIComponent தனிப்பட்ட URI கூறுகளை குறியாக்குகிறது, அனைத்து சிறப்பு எழுத்துகளையும் மாற்றுகிறது.
- ஜாவாஸ்கிரிப்ட்டில் ஒரு URL ஐ எப்படி டிகோட் செய்வது?
- பயன்படுத்தவும் decodeURIComponent குறியிடப்பட்ட URI கூறுகளை டிகோட் செய்ய, அல்லது decodeURI முழு குறியிடப்பட்ட URL ஐ டிகோட் செய்ய.
- URL குறியாக்கம் ஏன் அவசியம்?
- URL களில் உள்ள சிறப்பு எழுத்துக்கள் இணையத்தில் சரியாக அனுப்பப்படுவதையும், இணைய சேவையகங்களால் விளக்கப்படுவதையும் உறுதிப்படுத்த URL குறியாக்கம் அவசியம்.
- நான் பயன்படுத்தி கொள்ளலாமா encodeURIComponent முழு URL க்காகவா?
- URL கட்டமைப்பிற்குத் தேவையான '/', '?' மற்றும் '&' போன்ற எழுத்துக்களை இது குறியாக்கம் செய்யும் என்பதால் இது பரிந்துரைக்கப்படவில்லை. பயன்படுத்தவும் encodeURI பதிலாக.
- கதாபாத்திரங்கள் என்ன செய்கின்றன encodeURIComponent குறியாக்கம்?
- encodeURIComponent அகரவரிசை, தசம இலக்கங்கள் மற்றும் - _ தவிர அனைத்து எழுத்துக்களையும் குறியாக்குகிறது. ! ~ * ' ( ).
- URL என்கோடிங் கேஸ்-சென்சிட்டிவ்தா?
- இல்லை, URL குறியாக்கம் கேஸ்-சென்சிட்டிவ் அல்ல. குறியிடப்பட்ட எழுத்துக்களை பெரிய எழுத்து அல்லது சிறிய எழுத்துக்களில் குறிப்பிடலாம்.
- URLகளில் உள்ள இடைவெளிகளை எவ்வாறு கையாள்வது?
- URLகளில் உள்ள இடைவெளிகள் '%20' ஆக குறியாக்கம் செய்யப்பட வேண்டும் அல்லது கூட்டல் குறி '+' ஐப் பயன்படுத்தி இருக்க வேண்டும்.
- URL சரியாக குறியிடப்படாவிட்டால் என்ன நடக்கும்?
- ஒரு URL சரியாக குறியாக்கம் செய்யப்படவில்லை என்றால், அது இணைய சேவையகங்கள் மற்றும் உலாவிகளால் பிழைகள் அல்லது தவறான விளக்கங்களுக்கு வழிவகுக்கும்.
- ஏற்கனவே குறியிடப்பட்ட URL ஐ குறியாக்கம் செய்ய முடியுமா?
- ஆம், ஆனால் இது இரட்டை குறியாக்கத்தை ஏற்படுத்தும், இது தவறான URL களுக்கு வழிவகுக்கும். தேவைப்பட்டால், முதலில் மாற்றியமைக்க டிகோடிங் செயல்பாடுகளைப் பயன்படுத்தவும்.
JavaScript இல் பயனுள்ள URL குறியாக்க நுட்பங்கள்
முடிவில், ஜாவாஸ்கிரிப்டில் URLகளை எவ்வாறு சரியாக குறியாக்கம் செய்வது என்பது இணைய வளர்ச்சிக்கு இன்றியமையாதது. போன்ற செயல்பாடுகளைப் பயன்படுத்துதல் encodeURIComponent மற்றும் encodeURI, URLகள் சரியாக வடிவமைக்கப்பட்டுள்ளன மற்றும் சிறப்பு எழுத்துக்கள் குறியாக்கம் செய்யப்பட்டுள்ளன என்பதை நீங்கள் உறுதிசெய்யலாம். இது வலை சேவையகங்கள் மற்றும் உலாவிகளால் பிழைகள் மற்றும் தவறான விளக்கங்களைத் தடுக்கிறது, இது ஒரு மென்மையான பயனர் அனுபவத்திற்கும் நம்பகமான தரவு பரிமாற்றத்திற்கும் வழிவகுக்கும்.