Trình Tạo URL

Xây dựng URL một cách tương tác với scheme, host, đường dẫn, tham số truy vấn và fragment.

Cách hoạt động

  1. Chọn scheme và host: chọn một giao thức (http, https, ftp) và nhập tên miền mục tiêu.
  2. Thêm đường dẫn và tham số truy vấn: gõ đường dẫn, sau đó thêm các cặp khóa-giá trị cần thiết.
  3. Thêm fragment (tùy chọn): thêm một mỏ neo hoặc hash trỏ đến một phần cụ thể của trang.
  4. Sao chép URL đã ráp nối: URL được tạo cập nhật trực tiếp. Sao chép nó để sử dụng trong mã, marketing hoặc kiểm thử.

Tại sao sử dụng trình xây dựng URL?

Lắp ráp URL bằng tay dễ gây lỗi, một dấu gạch chéo bị thiếu, một khoảng trắng không được mã hóa hoặc một tham số truy vấn bị mất có thể phá vỡ các liên kết sâu, các cuộc gọi API hoặc chuyển hướng. Trình xây dựng URL này đảm bảo rằng mỗi thành phần được đặt và mã hóa đúng, tạo ra một URL hợp lệ mỗi lần. Nó lý tưởng để tạo các liên kết marketing được theo dõi, xây dựng các điểm cuối API trong quá trình phát triển, lắp ráp các liên kết sâu cho các chiến dịch email và ghi lại các cấu trúc URL.

Tính năng

Câu hỏi thường gặp

Các phần của một URL là gì?

Một URL đầy đủ bao gồm: scheme (https), host (example.com), một port tùy chọn (:8080), đường dẫn (/api/v1), truy vấn (?key=value) và fragment (#section). Trình xây dựng này bao quát mọi thành phần.

Nó có xử lý các ký tự đặc biệt không?

Có. Khoảng trắng, chữ cái có dấu, ký hiệu và các ký tự không phải ASCII khác trong giá trị tham số được mã hóa tự động để URL kết quả hợp lệ trong bất kỳ trình duyệt hoặc máy khách API nào.

Các tham số URL có ảnh hưởng đến SEO không?

Các tham số theo dõi (như thẻ UTM) thường không ảnh hưởng đến xếp hạng tìm kiếm tự nhiên. Để tránh các hình phạt nội dung trùng lặp khi nhiều URL được gắn thẻ tồn tại cùng nhau, hãy đảm bảo thẻ canonical của bạn trỏ đến phiên bản sạch của mỗi trang.

Giải phẫu của một URL, từng thành phần một

Ngữ pháp định nghĩa mọi URL trên web sống trong RFC 3986 «Uniform Resource Identifier (URI): Generic Syntax» (Berners-Lee, Fielding, Masinter, tháng 1 năm 2005). Các trình duyệt thực sự sử dụng một biến thể hơi khoan dung hơn được định nghĩa trong WHATWG URL Living Standard. Cả hai đều đồng ý về các thành phần:

Mã hóa phần trăm: bẫy + so với %20

RFC 3986 §2.3 định nghĩa các ký tự không dành riêng không bao giờ cần mã hóa: A-Z a-z 0-9 - . _ ~. Mọi thứ khác, khi xuất hiện dưới dạng dữ liệu bên trong một thành phần URL, trở thành %XX nơi XX là giá trị hex của byte. Các ký tự UTF-8 nhiều byte mở rộng thành nhiều bộ ba phần trăm: é (U+00E9, UTF-8 C3 A9) mã hóa thành %C3%A9. Cạm bẫy kinh điển là ký tự khoảng trắng: trong một đường dẫn hoặc đoạn URL thông thường, khoảng trắng mã hóa thành %20; trong chuỗi truy vấn được mã hóa biểu mẫu (thuật toán application/x-www-form-urlencoded được chia sẻ bởi các biểu mẫu HTML và bộ tuần tự hóa chuỗi truy vấn WHATWG), khoảng trắng mã hóa thành +. Một máy chủ giải mã dữ liệu biểu mẫu chuyển đổi + trở lại thành khoảng trắng; một máy chủ coi truy vấn như một URI chung không. Trộn lẫn hai quy ước âm thầm làm hỏng dữ liệu. Mẫu an toàn trong JavaScript: sử dụng new URLSearchParams cho truy vấn và encodeURIComponent cho các giá trị riêng lẻ; sự tuân thủ đặc tả được xử lý cho bạn.

Nơi bạn thực sự cần một trình xây dựng URL

Sai lầm phổ biến

Thêm câu hỏi thường gặp

Độ dài tối đa của URL là bao nhiêu?

RFC 3986 không đặt giới hạn. Trong thực tế: các trình duyệt giới hạn khoảng 2.000 ký tự cho thanh địa chỉ (Internet Explorer 11 là 2.083; Chrome và Firefox dung nạp lâu hơn nhưng cắt giảm hiển thị); hầu hết CDN và proxy giới hạn ở 4.096 hoặc 8.192; các máy chủ như Apache và Nginx mặc định ở 8.192 byte cho dòng yêu cầu. Nếu bạn cần hơn 2.000 ký tự, hãy chuyển sang body POST.

Tôi có thể bao gồm cùng một tham số truy vấn nhiều lần không?

Có. ?tag=red&tag=blue&tag=green là hợp lệ. Cách máy chủ diễn giải nó phụ thuộc vào framework: Express / Node.js phân tích thành req.query.tag = ['red', 'blue', 'green']; PHP cần quy ước dấu ngoặc ?tag[]=red&tag[]=blue; Rails phân tích thành một mảng nếu bạn sử dụng dấu ngoặc tag[]. Phương thức URLSearchParams.getAll('tag') luôn trả về tất cả các giá trị dưới dạng một mảng bất kể kiểu dấu ngoặc.

Các tham số truy vấn có ảnh hưởng đến SEO không?

Các tham số theo dõi (UTM, fbclid, gclid) thường không ảnh hưởng đến xếp hạng tìm kiếm tự nhiên. Rủi ro là lập chỉ mục nội dung trùng lặp: một URL được gắn thẻ và phiên bản sạch của nó trông như hai trang khác nhau đối với một trình thu thập thông tin. Cách khắc phục là một thẻ <link rel="canonical" href="clean-url"> chỉ mọi biến thể được gắn thẻ đến cùng một URL chuẩn.

Một Template URI là gì, và tôi có nên sử dụng nó không?

RFC 6570 (tháng 3 năm 2012) định nghĩa Template URI: một cú pháp cho các URL được tham số hóa với các trình giữ chỗ. Chúng được sử dụng trong các đặc tả OpenAPI / Swagger, JSON Hyper-Schema, và một số API HATEOAS. Đối với xây dựng URL hàng ngày, việc nối chuỗi đơn giản thông qua trình xây dựng này dễ hơn; Template URI tỏa sáng khi tài liệu hóa một bề mặt API và tạo SDK client.

Có gì được gửi đến máy chủ không?

Không. Mọi thành phần bạn nhập, mã hóa, và URL cuối cùng được xây dựng trong JavaScript của trình duyệt của bạn. Không có cuộc gọi mạng nào được thực hiện để lắp ráp URL. Mở tab Mạng trong DevTools và thử công cụ: bạn sẽ thấy không có yêu cầu đi ra trong quá trình xây dựng.

Công cụ liên quan

Bộ mã hóa/giải mã URL miễn phí Bộ Phân Tích & Giải Mã URL Trình tạo mã QR trực tuyến miễn phí Trình Tạo Slug URL