2009-02-20 27 views
22

Có bất kỳ quy ước hoặc tiêu chuẩn đặt tên nào cho tham số Url được tuân theo hay không. Tôi thường sử dụng vỏ lạc đà như userId hoặc itemNumber. Khi tôi chuẩn bị bắt đầu một dự án mới, tôi đã tìm kiếm liệu có bất kỳ thứ gì cho việc này và không thể tìm thấy bất cứ điều gì. Tôi không xem xét điều này từ quan điểm của ngôn ngữ hoặc khuôn khổ nhưng nhiều hơn như một tiêu chuẩn web chung.Quy ước đặt tên thông số url hoặc tiêu chuẩn để tuân theo

+0

Xu hướng chung là xóa chi tiết công nghệ khỏi URL chẳng hạn như '.php'. Bên cạnh đó mọi người đến với tất cả các loại cấu trúc URL "ngữ nghĩa". Nó không quan trọng nhiều. – usr

Trả lời

15

Tôi khuyên bạn nên đọc Cool URI's Don't Change bởi Tim Berners-Lee để biết thông tin chi tiết về câu hỏi này. Nếu bạn đang sử dụng các thông số trong URI của mình, có thể tốt hơn là viết lại chúng để phản ánh dữ liệu thực sự có ý nghĩa gì.

Vì vậy, thay vì có những điều sau đây:

/index.jsp?isbn=1234567890 
/author-details.jsp?isbn=1234567890 
/related.jsp?isbn=1234567890 

Bạn sẽ phải

/isbn/1234567890/index 
/isbn/1234567890/author-details 
/isbn/1234567890/related 

Nó tạo ra một cấu trúc dữ liệu rõ ràng hơn, và có nghĩa là nếu bạn thay đổi kiến ​​trúc nền tảng, của URI bạn don không thay đổi. Nếu không có cấu trúc trên,

/index.jsp?isbn=1234567890 

trở thành

/index.aspx?isbn=1234567890 

có nghĩa là tất cả các liên kết trên trang web của bạn hiện đang bị phá vỡ.

Nói chung, bạn chỉ nên sử dụng chuỗi truy vấn khi người dùng có thể mong đợi hợp lý dữ liệu mà họ đang truy xuất được tạo, ví dụ: với một tìm kiếm. Nếu bạn đang sử dụng chuỗi truy vấn để truy xuất tài nguyên không thay đổi từ cơ sở dữ liệu, thì hãy sử dụng viết lại URL.

+20

Điều này không trả lời được câu hỏi nào cả. Bài đăng gốc đã hỏi liệu có quy ước đặt tên cho tham số chuỗi truy vấn hay không. Như bạn đã đề cập đến chính mình, chuỗi truy vấn thích hợp khi bạn tìm kiếm hoặc lọc dữ liệu (http://stackoverflow.com/a/17999251/1424734), vậy tại sao tiếp tuyến lại sử dụng đúng cách? – jstol

6

Không có tiêu chuẩn nào mà tôi biết. Chỉ cần lưu ý đến số URL length limit của IE trong 2.083 ký tự.

2

Giống như các câu trả lời khác mà tôi chưa từng nghe về bất kỳ quy ước nào.

Chỉ "tiêu chuẩn" tôi sẽ tuân thủ là sử dụng thực tiễn thân thiện với công cụ tìm kiếm hơn bằng cách sử dụng trình ghi đè URL.

0

Không có tiêu chuẩn nào tôi biết và trường hợp không quan trọng.

Tuy nhiên trong ứng dụng của bạn (trang web), bạn nên tuân theo các tiêu chuẩn của riêng bạn. Vì sự tỉnh táo của bạn nếu không có gì khác.

2

Tôi sử dụng chữ thường. Tùy thuộc vào công nghệ bạn sử dụng, QS hoặc là bị đe dọa là phân biệt chữ hoa chữ thường (ví dụ: PHP) hay không (ví dụ: ASP). Sử dụng chữ thường tránh nhầm lẫn có thể xảy ra.

5

Chuẩn cho URI được xác định bởi RFC2396.
Mọi thứ sau khi phần chuẩn của URL được để lại cho bạn.

Bạn có thể chỉ muốn theo một quy ước cụ thể về các thông số của mình dựa trên khuôn khổ bạn sử dụng.
Hầu hết thời gian bạn sẽ thậm chí không thực sự quan tâm vì đây không phải là dưới sự kiểm soát của bạn, nhưng khi họ đang có, có thể bạn muốn ít nhất phải nhất quán và cố gắng tạo ra bit người dùng thân thiện:

  • rằng ngắn,
  • nếu người dùng có thể truy cập trực tiếp, họ phải dễ nhớ,
  • không phân biệt chữ hoa chữ thường (có thể khó tùy thuộc vào hệ điều hành máy chủ).
  • theo dõi một số SEO guidelines and best practices, chúng có thể giúp bạn rất nhiều.

Tôi muốn nói rằng sự sạch sẽ và thân thiện với người dùng là mục tiêu đáng khen ngợi để phấn đấu khi trình bày URL.
StackOverflow thực hiện công việc khá tốt.

+0

Tôi đồng ý với bạn về phong cách của các url, và tránh các thông số, tôi đã quan tâm đến phong cách này đầu tiên khi tôi thấy Atlassians's Jira và Bamboo có nó, làm cho cái nhìn của url đơn giản. Trên Apache nó có thể được thiết lập với một số quy tắc viết lại. Bạn có biết bất cứ điều gì tương tự cho IIS và .NET –

+0

Theo [RFC 3986, 6.2.2.1] (http://www.ietf.org/rfc/rfc3986.txt): * các thành phần cú pháp chung khác được giả định là trường hợp- nhạy cảm *. Vậy tại sao tạo ra các bit phân biệt chữ hoa chữ thường? –

+1

@MartijnBurger vì người dùng cuối nhập URL theo cách thủ công có thể không mong đợi một chuỗi có phân biệt chữ hoa chữ thường. Nguyên tắc ít ngạc nhiên nhất và tất cả. –

Các vấn đề liên quan