مقدمه ای مختصر درباره رمزگذاری URL

URL وبسایت ، همچنین معمولا به عنوان "آدرس وبسایت" شناخته می شود، این است که چه کسی برای دسترسی به یک وبسایت خاص یک مرورگر وب وارد می کند. وقتی اطلاعات را از طریق یک نشانی اینترنتی منتقل میکنید، باید مطمئن شوید که فقط از کاراکترهای مجاز خاص استفاده میکند. این کاراکترهای مجاز شامل حروف الفبا، اعداد و چند کاراکتر خاص است که در رشته URL معنی دارند. هر شخصیت دیگری که باید به یک URL اضافه شود، باید رمزگذاری شود تا مشکلی در سفر مرورگر ایجاد نشود و صفحات و منابع مورد نظر شما را پیدا کند.

رمزگذاری یک URL

متداولترین شخصیت در رشته URL، کاراکتر است. هر بار که علامت + (+) را در یک URL مشاهده می کنید این کاراکتر را می بینید. این نماینده شخصیت فضایی است. علامت پلاس به عنوان یک کاراکتر خاص که این فضای را در یک URL نشان می دهد عمل می کند. رایج ترین راه این را می بینید که در پیوند mailto است که شامل یک موضوع است. اگر می خواهید موضوع را در آن فضایی داشته باشید، می توانید آنها را به عنوان پلاگین ها کدگذاری کنید:

mailto: email subject = این + + + موضوع من است

این بیت از متن کدبندی یک موضوع را "این موضوع من" است. شخصیت "+" در کدگذاری با یک فضای واقعی جایگزین می شود وقتی که در مرورگر نمایش داده می شود.

برای رمزگذاری یک URL، شما به سادگی کاراکترهای خاص خود را با رشته کدگذاری آنها جایگزین کنید. این تقریبا همیشه با یک شخصیت٪ شروع می شود.

رمزگذاری یک URL

بدیهی است، شما همیشه باید هر کاراکتر خاصی که در یک URL قرار دارد را رمزگذاری کنید. یک نکته مهم، در صورتی که احساس کنید کمی با تمام این گفتگو یا رمزگذاری آشنا هستید، این است که شما به طور کلی هیچ کاراکتر خاصی را در یک URL در خارج از زمینه طبیعی خود به جز داده های فرم مشاهده نمی کنید.

اکثر URL ها از کاراکترهای ساده استفاده می کنند که همیشه مجاز می باشند، بنابراین هیچ رمزگذاری در همه مورد نیاز نیست.

اگر شما داده ها را به اسکریپت های CGI با استفاده از روش GET ارسال می کنید، شما باید داده ها را همانطور که از طریق URL ارسال می شود، رمزگذاری کنید. به عنوان مثال، اگر شما یک لینک برای تبلیغ یک خوراک RSS بنویسید، URL شما باید برای افزودن به URL اسکریپتی که شما آن را تبلیغ می کنید، رمزگذاری شود.

چه چیزی باید رمزگذاری شود؟

هر شخصیتی که یک کاراکتر حروف، یک عدد یا یک کاراکتر خاص است که در خارج از محدوده طبیعی آن استفاده می شود، باید در صفحه شما رمزگذاری شود. در زیر یک جدول از کاراکترهای رایج است که می تواند در یک URL و کدگذاری آنها یافت شود.

شخصیت های رزرو شده URL Encoding

شخصیت هدف در URL رمزگذاری
: جدا کردن پروتکل (http) از آدرس ٪ 3B
/ دامنه و دایرکتوری جداگانه ٪ 2F
# مجریان جداگانه ٪ 23
؟ رشته پرس و جو را جدا کنید ٪ 3F
& جدا کردن عناصر پرس و جو ٪ 24
@ نام کاربری و رمز عبور را از دامنه جدا کنید ٪ 40
٪ یک شخصیت کد شده را نشان می دهد 25٪
+ فضایی را نشان می دهد ٪ 2B
<فضاي> در URL ها توصیه نمیشود ٪ 20 یا +

توجه داشته باشید که این مثال های کد شده متفاوت از آنچه شما با کاراکترهای ویژه HTML پیدا می کنید. به عنوان مثال، اگر شما نیاز به کدگذاری URL با یک کاراکتر ampersand (&) دارید، از٪ 24 استفاده کنید، که همان چیزی است که در جدول بالا نشان داده شده است. اگر شما از HTML خواسته اید و می خواستید یک متنی را به متن اضافه کنید، نمیتوانید از٪ 24 استفاده کنید. در عوض، از "& amp؛" استفاده کنید یا "& # 38؛"، که هر دو از صفحه و در صفحه HTML در هنگام رندر نوشتند. این ممکن است در ابتدا گیج کننده باشد، اما اساسا تفاوت بین متن که در صفحه ظاهر می شود، که بخشی از کد HTML است، و رشته URL است که یک نهاد جداگانه است و بنابراین به قوانین متفاوت می پردازد.

واقعیت این است که کاراکتر "&" و همچنین بسیاری از شخصیت های دیگر می توانند در هر کدام از آنها ظاهر شوند، نباید شما را به تفاوت های بین این دو اشتباه گرفت.

مقاله اصلی جنیفر کریینین. ویرایش توسط جرمی جیرارد.