seo.url_encode.how_desc
- seo.url_encode.how_step1
- seo.url_encode.how_step2
- seo.url_encode.how_step3
- seo.url_encode.how_step4
seo.url_encode.how_example
ترميز النص للاستخدام الآمن في عناوين URL. تحويل الأحرف الخاصة إلى تنسيق مشفر بالنسبة المئوية.
ترميز URL، المعروف أيضًا باسم ترميز النسبة المئوية، هو آلية لترميز الأحرف الخاصة في عناوين URL. يمكن لعناوين URL أن تحتوي فقط على أحرف معينة من مجموعة ASCII، لذا يجب تحويل الأحرف الأخرى إلى تنسيق صالح.
seo.url_encode.how_desc
seo.url_encode.how_example
تم توحيد ترميز URL في RFC 3986 (2005)، الذي يحدد بناء جملة معرف الموارد الموحد (URI). يحدد المعيار الأحرف "غير المحجوزة" (آمنة للاستخدام كما هي: A-Z، a-z، 0-9، -، _، .، ~) والأحرف "المحجوزة" (لها معنى خاص: :، /، ?، #، [، ]، @، !، $، &، '، (، )، *، +، ,، ;، =). يجب ترميز الأحرف المحجوزة بالنسبة المئوية عند استخدامها حرفيًا في عناوين URL. قبل هذا المعيار، استخدمت أنظمة مختلفة طرق ترميز مختلفة، مما أدى إلى مشاكل التوافق. وحّد RFC 3986 ترميز URL عبر الويب.
يجعل ترميز URL البيانات آمنة لعناوين URL ولكنه لا يشفرها أو يؤمنها. يمكن فك تشفير عناوين URL المشفرة بسهولة. استخدم دائمًا HTTPS للبيانات الحساسة. تعرف على أمان الترميز
توفر كل لغة برمجة وظائف ترميز URL. إليك أمثلة شاملة:
// urlencode() - لبيانات النموذج (المسافات تصبح +)
$encoded = urlencode($data);
// rawurlencode() - متوافق مع RFC 3986 (المسافات تصبح %20)
$encoded = rawurlencode($data);
// بناء سلاسل الاستعلام
$params = http_build_query([
'search' => 'coffee & tea',
'category' => 'food/drink'
]);
// النتيجة: search=coffee+%26+tea&category=food%2Fdrink
// encodeURIComponent() - لمعاملات الاستعلام (استخدم هذا!)
const encoded = encodeURIComponent('hello world & stuff');
// النتيجة: hello%20world%20%26%20stuff
// encodeURI() - لعناوين URL الكاملة (نادرًا ما تحتاج)
const fullUrl = encodeURI('https://example.com/path with spaces');
// بناء عناوين URL مع المعاملات
const baseUrl = 'https://api.example.com/search';
const query = encodeURIComponent('[email protected]');
const url = `${baseUrl}?q=${query}`;
from urllib.parse import quote, quote_plus, urlencode
# quote() - ترميز RFC 3986
encoded = quote('hello world & stuff')
# النتيجة: hello%20world%20%26%20stuff
# quote_plus() - ترميز النموذج (المسافات تصبح +)
encoded = quote_plus('hello world')
# النتيجة: hello+world
# urlencode() - بناء سلاسل الاستعلام
params = urlencode({'search': 'coffee & tea', 'page': 1})
# النتيجة: search=coffee+%26+tea&page=1
import (
"net/url"
"fmt"
)
// QueryEscape() - ترميز معامل الاستعلام
encoded := url.QueryEscape("hello world & stuff")
// النتيجة: hello+world+%26+stuff
// PathEscape() - ترميز أجزاء المسار
encoded := url.PathEscape("hello/world")
// النتيجة: hello%2Fworld
// بناء عناوين URL مع المعاملات
u, _ := url.Parse("https://api.example.com/search")
q := u.Query()
q.Set("search", "coffee & tea")
u.RawQuery = q.Encode()
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
// ترميز URL (حدد دائمًا UTF-8)
String encoded = URLEncoder.encode("hello world & stuff",
StandardCharsets.UTF_8);
// النتيجة: hello+world+%26+stuff
// بناء عناوين URL
String baseUrl = "https://api.example.com/search?q=";
String query = URLEncoder.encode("[email protected]",
StandardCharsets.UTF_8);
String fullUrl = baseUrl + query;
require 'uri'
require 'cgi'
# URI.encode_www_form_component() - الترميز القياسي
encoded = URI.encode_www_form_component('hello world & stuff')
# النتيجة: hello+world+%26+stuff
# CGI.escape() - بديل
encoded = CGI.escape('hello world')
# بناء سلاسل الاستعلام
params = URI.encode_www_form({search: 'coffee & tea', page: 1})
# النتيجة: search=coffee+%26+tea&page=1
using System;
using System.Web;
using System.Net;
// HttpUtility.UrlEncode() - الترميز القياسي
string encoded = HttpUtility.UrlEncode("hello world & stuff");
// النتيجة: hello+world+%26+stuff
// Uri.EscapeDataString() - RFC 3986 (بدون تبعية System.Web)
string encoded = Uri.EscapeDataString("hello world & stuff");
// النتيجة: hello%20world%20%26%20stuff
هل تحتاج إلى فك تشفير سلاسل مشفرة بـ URL؟ استخدم فك تشفير URL لتحويل النص المشفر بالنسبة المئوية مرة أخرى إلى تنسيق قابل للقراءة.
ترميز البيانات الثنائية؟ جرب مشفر Base64 لتحويل البيانات الثنائية إلى تنسيق نصي.
عرض النص على صفحات الويب؟ استخدم مشفر كيانات HTML لترميز أحرف HTML الخاصة بأمان.