URL კოდირება/დეკოდირება + HTML ერთეულები

დააკოდირეთ URL-ები, გაშიფრეთ პროცენტული კოდირება და გარდაქმენით HTML ერთეულები.

ხელსაწყო
მოქმედება
URL-ის არეალი
შესაყვანი
გამომავალი
მზადაა. ჩასვით ტექსტი და აირჩიეთ მოქმედება.

თქვენი URL და HTML ტექსტი კონვერტირდება თქვენს ბრაუზერში. BroBroGo-ზე არაფერი იტვირთება.

ხშირად დასმული კითხვები

უნდა ავირჩიო URL კომპონენტი თუ სრული URL-ი?

გამოიყენეთ კომპონენტი (component) მოთხოვნის მნიშვნელობებისთვის, გზის ნაწილებისთვის ან ფორმის ველებისთვის. გამოიყენეთ სრული URL-ი, როდესაც გსურთ ისეთი სიმბოლოების წაკითხვადობის შენარჩუნება, როგორიცაა : / ? & =.

რას ცვლის HTML ერთეულების კოდირება (escaping)?

ის გარდაქმნის ისეთ სიმბოლოებს, როგორიცაა <, >, &, ბრჭყალები და არა-ASCII ტექსტი შესაბამის HTML ერთეულებად (entities), რომელთა უსაფრთხოდ ჩასმაც შესაძლებელია HTML ტექსტში ან ატრიბუტებში.

რატომ ვერ ხერხდება ხანდახან URL-ის დეკოდირება?

პროცენტული კოდირება (percent escapes) უნდა წარმოადგენდეს სრულ UTF-8 მიმდევრობებს. დაზიანებული მიმდევრობის, მაგალითად %E0%A4%A-ს დეკოდირება ვარაუდის გარეშე შეუძლებელია.

URL კოდირების და დეკოდირების არსი

URL კოდირება (იგივე პროცენტული კოდირება) აუცილებელი პროცესია ინტერნეტში მონაცემთა უსაფრთხო გადაცემისთვის. ვებ-ბრაუზერები და სერვერები იყენებენ ამ მეთოდს, რათა სპეციალური სიმბოლოები, ინტერვალები და არა-ASCII სიმბოლოები გარდაქმნან ფორმატში, რომელიც თავსებადია ინტერნეტ პროტოკოლებთან.

როდესაც ხდება URL-ის კოდირება, არასტანდარტული სიმბოლოები იცვლება პროცენტის ნიშნით (%), რომელსაც თან სდევს შესაბამისი სიმბოლოს UTF-8 კოდის თექვსმეტობითი წარმოდგენა. დეკოდირების პროცესი კი პირიქით — ამ თექვსმეტობით მიმდევრობებს კვლავ ადამიანისთვის გასაგებ ტექსტად გარდაქმნის. ეს პროცესი კრიტიკულად მნიშვნელოვანია დეველოპერებისთვის, კონტენტის რედაქტორებისთვის და მხარდაჭერის პერსონალისთვის, რომლებსაც უწევთ URL ფრაგმენტების, მოთხოვნის პარამეტრების ან ფორმის მნიშვნელობების დამუშავება.

განსხვავება URL კომპონენტსა და სრულ URL-ს შორის

URL-ის დამუშავებისას მნიშვნელოვანია განისაზღვროს კონვერტაციის არეალი, რადგან არასწორმა მიდგომამ შესაძლოა დააზიანოს ბმულის სტრუქტურა. ხელსაწყო იყენებს ორ განსხვავებულ რეჟიმს:

  1. კომპონენტი (component): ეს რეჟიმი ეყრდნობა JavaScript-ის encodeURIComponent და decodeURIComponent ფუნქციებს. იგი განკუთვნილია URL-ის კონკრეტული ნაწილების, მაგალითად, მოთხოვნის მნიშვნელობების (query values), გზის ნაწილების (path pieces) ან ფორმის ველების დასაკოდირებლად. ამ რეჟიმში კოდირდება აბსოლუტურად ყველა სპეციალური სიმბოლო, მათ შორის :, /, ?, & და =.
  2. სრული URL-ი: ეს რეჟიმი იყენებს encodeURI და decodeURI ფუნქციებს. იგი გამოიყენება მაშინ, როდესაც გსურთ მთლიანი ბმულის კოდირება ისე, რომ შენარჩუნდეს თავად URL-ის სტრუქტურული სიმბოლოების (მაგალითად, პროტოკოლის გამყოფის ან პარამეტრების გამყოფების: :, /, ?, &, =) წაკითხვადობა და ფუნქციონალურობა.

HTML ერთეულების გარდაქმნა და მისი დანიშნულება

HTML ერთეულების კოდირება (escaping) ემსახურება ტექსტის უსაფრთხო ჩასმას HTML დოკუმენტში. ვებ-გვერდის კოდში გარკვეულ სიმბოლოებს აქვთ სპეციალური დანიშნულება (მაგალითად, < და > განსაზღვრავს ტეგებს). თუ თქვენს ტექსტში არსებული სიმბოლოები პირდაპირ ჩაიწერება კოდში, ბრაუზერმა შესაძლოა ისინი შეცდომით აღიქვას HTML ბრძანებებად.

HTML ერთეულების კოდირებისას ხდება ისეთი სიმბოლოების გარდაქმნა, როგორიცაა <, >, &, ბრჭყალები და არა-ASCII ტექსტი შესაბამის უსაფრთხო ერთეულებად (entities). მაგალითად, სიმბოლო < გარდაიქმნება როგორც &lt;, ხოლო > როგორც &gt;. ეს პროცესი უზრუნველყოფს, რომ ბრაუზერმა ეკრანზე ზუსტად გამოსახოს სასურველი სიმბოლოები და არ მოახდინოს მათი ინტერპრეტაცია კოდად. უნდა გვახსოვდეს, რომ კოდირება/escaping განსხვავდება უსაფრთხოების სრული სანიტარიზაციისგან (security sanitization), რომელიც მიზნად ისახავს მავნე კოდის გაფილტვრას.

პროცენტული კოდირების წესები და შეცდომების დამუშავება

URL დეკოდირების წარმატებით დასრულებისთვის აუცილებელია, რომ პროცენტული კოდირება (percent escapes) წარმოადგენდეს სრულ და ვალიდურ UTF-8 მიმდევრობებს.

თუ ტექსტი შეიცავს დაზიანებულ ან არასრულ მიმდევრობას, ხელსაწყო ვერ შეძლებს მის დეკოდირებას. მაგალითად, ისეთი დაზიანებული მიმდევრობა, როგორიცაა %E0%A4%A, გამოიწვევს შეცდომას, რადგან მას აკლია ბაიტების სრული ნაკრები სიმბოლოს აღსადგენად. ასეთ დროს სისტემა აჩვენებს შეტყობინებას: "ამ URL ტექსტს აქვს დაზიანებული პროცენტული კოდირება.".

ხელსაწყოში მოქმედებს სიმბოლოების მაქსიმალური ლიმიტი — 2,000,000 სიმბოლო. ამ ზღვარის გადაცილების შემთხვევაში ეკრანზე გამოჩნდება შეტყობინება: "ეს მონაცემები ძალიან გრძელია ამ ხელსაწყოსთვის. სიმბოლოების რაოდენობა არ უნდა აღემატებოდეს {max}-ს.".

მონაცემთა დამუშავება და კონფიდენციალურობა

თქვენი URL და HTML ტექსტი კონვერტირდება თქვენს ბრაუზერში. BroBroGo-ზე არაფერი იტვირთება. კონვერტაციის მართვისას ინტერფეისი რეაგირებს სხვადასხვა მდგომარეობაზე შესაბამისი შეტყობინებებით:

  • თუ ველი ცარიელია და ცდილობთ მოქმედებას: "ჯერ ჩასვით ტექსტი."
  • პროცესის წარმატებით დასრულებისას: "კოდირებულია." ან "დეკოდირებულია."
  • თუ ოპერაცია დროში გაიწელა: "კონვერტაციას ძალიან დიდი დრო სჭირდება. სცადეთ უფრო მცირე მოცულობის ტექსტი."
  • გაუთვალისწინებელი შეცდომისას: "ამ ტექსტის კონვერტაცია ვერ მოხერხდა."
  • ველების გასუფთავებისას: "შესაყვანი და გამომავალი ველები გასუფთავდა."
  • შედეგის შესაყვან ველში გადატანისას: "შედეგი გადატანილია შესაყვან ველში."

ხშირად დასმული კითხვები

უნდა ავირჩიო URL კომპონენტი თუ სრული URL-ი?
გამოიყენეთ კომპონენტი (component) მოთხოვნის მნიშვნელობებისთვის, გზის ნაწილებისთვის ან ფორმის ველებისთვის. გამოიყენეთ სრული URL-ი, როდესაც გსურთ ისეთი სიმბოლოების წაკითხვადობის შენარჩუნება, როგორიცაა: /? & =.

რას ცვლის HTML ერთეულების კოდირება (escaping)?
ის გარდაქმნის ისეთ სიმბოლოებს, როგორიცაა <, >, &, ბრჭყალები და არა-ASCII ტექსტი შესაბამის HTML ერთეულებად (entities), რომელთა უსაფრთხოდ ჩასმაც შესაძლებელია HTML ტექსტში ან ატრიბუტებში.

რატომ ვერ ხერხდება ხანდახან URL-ის დეკოდირება?
პროცენტული კოდირება (percent escapes) უნდა წარმოადგენდეს სრულ UTF-8 მიმდევრობებს. დაზიანებული მიმდევრობის, მაგალითად %E0%A4%A-ს დეკოდირება ვარაუდის გარეშე შეუძლებელია.

სად ხდება ჩემი შეყვანილი მონაცემების დამუშავება?
თქვენი URL და HTML ტექსტი კონვერტირდება თქვენს ბრაუზერში. BroBroGo-ზე არაფერი იტვირთება, რაც უზრუნველყოფს მონაცემთა ლოკალურ დამუშავებას.