Tôi có nên sử dụng trường hợp tiêu đề trong URL?


9

Chúng tôi hiện đang quyết định về một quy ước đặt tên nhất quán trên một trang web có nhiều ứng dụng web. Trong lịch sử, tôi là người ủng hộ 'chữ thường tất cả các chữ cái!' khi tạo URL:

http://example.com/mysystem/account/view/1551

Tuy nhiên, trong vòng một hoặc hai năm trước, cụ thể là kể từ khi tôi bắt đầu sử dụng ASP.NET MVC và có nhiều giao dịch hơn với các URL dựa trên REST, tôi đã trở thành một người hâm mộ viết hoa chữ cái đầu tiên của mỗi phần / từ trong URL khi nó tạo ra nó dễ đọc hơn (imho).

http://example.com/MySystem/Account/View/1551

Chúng tôi không ở trong tình huống mọi người cần đọc hoặc có thể hiểu các URL, vì vậy đó không phải là trình điều khiển. Điều chính chúng tôi đang theo là một cách tiếp cận nhất quán hợp lý và có ý nghĩa.

Có bất kỳ tiêu chuẩn nào tuyên bố nó tốt khi thực hiện bằng cách này hay cách khác, hoặc các vấn đề mà chúng ta có thể gặp phải (ít nhất là hiện đại thực tế) sẽ chọn ưu tiên hơn một cách khác? Sự đồng thuận chung cho cuộc tranh luận này hiện nay là gì?

Câu trả lời:


10

Vì sự lựa chọn chủ yếu là mỹ phẩm (nghĩa là hầu hết các hệ thống không phân biệt chữ hoa và chữ thường và người dùng chắc chắn không), nên tôi khuyên bạn chỉ nên đi với bất cứ điều gì làm bạn hài lòng. Tính nhất quán trong ứng dụng là chìa khóa , không phải là cách bạn chọn.

Khi bạn đang sử dụng ASP.Net, tôi khuyên bạn nên sử dụng phương pháp PascalCase - vì đó là những gì có xu hướng tồn tại trong khung Microsoft (thư viện hệ thống, v.v.) Nhưng không có "cách thực hành tốt nhất" nào ngoài việc nhất quán.

Hầu hết các trình duyệt thực hiện khá tốt việc ẩn URL khỏi người dùng, đến mức rất nhiều người có google là trang chủ của họ, sau đó sẽ tìm kiếm facebook và nhấp vào nó - thay vì nhập url của facebook vào trình duyệt.


7
Nhưng hệ thống không Phân biệt ...
ghoppe

1
Ít nhất bạn nên đề cập rằng độ nhạy của vỏ máy tùy thuộc vào cấu hình máy chủ, do đó, đáng để xem xét, thay vì nói không chính xác rằng hệ thống không phân biệt chữ hoa và chữ thường.
jleach

@ jdl134679 đã xong.
TZHX

4

Đối với các trang web nội bộ, điều đó không quan trọng miễn là bạn phù hợp với nó.

Đối với các trang web bên ngoài, công khai, có lẽ bạn muốn gắn bó với chữ thường, ít nhiều là tiêu chuẩn trong lưu trữ web Linux / Apache. Như tôi nhớ, một số phiên bản của Firefox dường như cũng xử lý vỏ URL khác với IE. Điều này cũng có thể áp dụng cho Chrome.

Có vỏ phù hợp cũng là vấn đề để tối ưu hóa công cụ tìm kiếm. Bạn không muốn Google xem chữ thường.aspx và Lower-Case.aspx dưới dạng các trang khác nhau có nội dung trùng lặp. Mặc dù thuật toán của họ cố gắng ngăn chặn danh tính nhầm này, đôi khi nó xảy ra và có thể khiến một trang bị phạt.


2

Miễn là người dùng có thể nhập nó theo cách họ muốn, điều đó thực sự không quan trọng. Cá nhân, tôi thích TitleCase, nhưng có nhiều người không đồng ý. Nếu bạn kiên định, sẽ không có ai bận tâm.

Nếu vì lý do nào đó, máy chủ web của bạn không thể hiển thị cho tôi http://foo.com/HelloWorldkhi tôi cố gắng truy cập http://foo.com/helloworld, bạn nên chọn cho tất cả chữ thường. Mặc dù mọi người hiếm khi nhập URL đầy đủ vào những ngày này, nhưng địa chỉ trực tiếp sẽ có thể truy cập được mà không cần phải viết hoa.


2

Rằng bạn bắt đầu sử dụng MVC không nên "rò rỉ" vào sự trừu tượng REST của bạn. Có nhiều lý do tốt để sử dụng tất cả các URL chữ thường có dấu gạch ngang giữa các từ. Các URI (không phải tên miền) phân biệt chữ hoa chữ thường. Nếu bạn viết thường mọi thứ và sử dụng dấu gạch ngang để phân tách các từ, bạn đã loại bỏ rất nhiều công việc đoán và một lần, và nếu bạn sử dụng máy chủ proxy (nginx, nodejs, apache ...) bạn sẽ không có mọi thứ bắt đầu bị phá vỡ bởi vì nó đột nhiên phân biệt chữ hoa chữ thường.

"MiXeD-CaSe NaMeS. Đừng nhầm lẫn người dùng của bạn bằng cách trộn lẫn giữa chữ hoa và chữ thường và ký tự trong URL. Hãy giữ các chữ cái viết thường và đừng đoán họ. Nếu Người dùng của bạn thực sự gõ một URL trong trường hợp hỗn hợp, bình thường hóa nó trên máy chủ và phục vụ trường hợp thích hợp ".


1

Mặc dù các TLD không phân biệt chữ hoa chữ thường và các đường dẫn Windows sử dụng kết hợp giữa chữ hoa và chữ Pascal, các ứng dụng của chúng tôi nhạy cảm với các đường dẫn yêu cầu đến, trong đó các đường dẫn hoặc các thành phần trong đó, thường được chuẩn hóa thành trường hợp chuẩn, vì /format/JSON//format/json/là các yêu cầu cho hai định dạng khác nhau và tham chiếu hai tài nguyên riêng biệt.

Bất cứ khi nào tôi thấy http://www.somewebsite.com/Having/URLs/That-Look-S Something-Like-This / , tôi cảm thấy như ý định của nhà phát triển chủ yếu xuất hiện một chút khác biệt so với phần còn lại, nhưng không có gì đổi mới và nó cũng không giúp cải thiện khả năng đọc, đặc biệt là bây giờ bạn có Il , O0 , các chữ cái khác tranh luận cho phân tích của bạn.

Tôi không nhận thấy bất kỳ sự đồng thuận nào, tôi cũng không tin rằng nên có một, bởi vì điều gì đó đơn giản như chỉ viết hoa một số phần nhất định của URL có thể có tác động tích cực đến khả năng đọc và tôi chắc chắn rằng ai đó đã xuất hiện với những ý tưởng thú vị khi áp dụng các trường hợp thư cho URL.

Nhưng, đánh giá bởi thực tế là hầu hết các máy chủ Web đang chạy trên Linux và các nhà phát triển của chúng tôi luôn kết thúc việc chuẩn hóa dữ liệu văn bản đến vì đầu vào phân biệt chữ hoa chữ thường, tôi vẫn trung thành với cách nó được thực hiện.


0

KHÔNG BAO GIỜ sử dụng trường hợp tiêu đề cho lý do khả năng sử dụng! Hãy tưởng tượng bạn nên dành bao nhiêu thời gian và nhấp để thực hiện cho các trường hợp URL khác nhau trong điện thoại MOBILE của bạn !


Mặc dù trên iPhone của tôi, trường hợp tiêu đề yêu cầu ít lần nhấn phím hơn so với '-' hoặc '_'.
BradS

Điện thoại thông minh hiện đại, ít nhất là điện thoại Windows cho phép vuốt từ phím mũ để đạt được điều này trong một lần vuốt
0fnt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.