2012-11-22 37 views
13

Chỉ cần kích hoạt trong tâm trí tôi khi tôi đang trải qua một số trang web là họ có chữ hoa và trường hợp kết hợp thấp hơn trong một cái gì đó url như http://www.domain.com/Home/ArticleURL: Chữ thường VS trường hợp Upper

Bây giờ như tôi biết chúng ta nên luôn luôn sử dụng chữ thường trong url nhưng không có ý tưởng về lý do kỹ thuật. Tôi muốn học hỏi từ bạn chuyên gia để xóa khái niệm này tại sao sử dụng chữ thường trong url. Những lợi thế và bất lợi cho url trường hợp trên là gì.

+0

một số trang web lớn nhất trên web thậm chí không theo hoặc làm điều này .. không thực sự là cái gì được coi là phương pháp hay nhất .. – Hugo

Trả lời

28

Phần tên miền không phân biệt chữ hoa chữ thường. GoOgLe.CoM hoạt động. Bạn có thể thêm chữ hoa như bạn muốn, nhưng thông thường không có lý do để làm như vậy và, như đã nêu trong các bình luận dưới đây, có thể làm tổn thương thứ hạng SEO của bạn.

Phần đường dẫn là hoặc không phân biệt chữ hoa chữ thường, tùy thuộc vào môi trường máy chủ và máy chủ. Thông thường các máy Windows không phân biệt chữ hoa chữ thường, trong khi các máy Linux phân biệt chữ hoa chữ thường. Điều này có nghĩa rằng bạn nên dính vào chữ thường hoặc bạn có nguy cơ giới thiệu một lỗi thực sự khó tìm kiếm (trường hợp không khớp không quan trọng trên máy chủ dev).

Phần chuỗi truy vấn có sẵn cho máy chủ như hiện tại. Bạn có thể dễ dàng sử dụng trường hợp hỗn hợp tùy thích hoặc loại bỏ trường hợp (toLowerCase(...)). Điều này cũng có nghĩa là sử dụng các khóa mã hóa base64 sẽ hoạt động. Tuy nhiên, bạn không thể mong đợi người dùng nhập chính xác.

Phần băm (được gọi là "định danh phân đoạn") chỉ có sẵn cho mã máy khách, chứ không phải cho máy chủ. Javascript có thể phân biệt giữa các trường hợp như nó thích và trình duyệt cũng vậy. url#a sẽ cuộn đến phần tử có mã số a, nhưng url#A thì không.

+0

Câu trả lời của bạn gần như đã giải quyết được sự nhầm lẫn của tôi. Tuy nhiên một điều nữa.Vì vậy, không có lý do kỹ thuật hoặc lý do SEO để tránh trường hợp trên hoặc trường hợp hỗn hợp nhưng để tránh lỗi như vậy theo trường hợp? –

+0

Một số máy chủ cho phép bạn phân biệt các tệp hoặc thư mục theo từng trường hợp, một số thì không. Điều đó khiến bạn có rất ít lý do để sử dụng. Tôi không nghĩ rằng SEO là một vấn đề. Tôi không thể loại trừ lỗi với một số máy chủ đang áp dụng 'toLowerCase' cho bất kỳ URL nào và sau đó không tìm thấy thư mục. Âm thanh không chắc chắn, mặc dù. –

+4

Từ một SEO persepctive bạn nên sử dụng tất cả chữ thường như google sẽ thấy www.domain.com/Home/Article và www.domain.com/home/article như hai trang khác nhau sẽ làm loãng thứ hạng tìm kiếm của họ. – oenpelli

5

Tôi biết bạn đã hỏi vì lý do kỹ thuật nhưng cũng đáng xem xét điều này từ góc độ UX.

Giả sử bạn có URL có ký tự chữ hoa và, vì lợi ích của đối số, điều này đã được phân phối trên phương tiện được in. Khi người dùng nhập URL đó vào trình duyệt, họ có thể bị buộc phải khớp với trường hợp đó (hoặc bị buộc phải khớp với trường hợp được chỉ định nếu máy chủ web của bạn phân biệt chữ hoa chữ thường) xem xét trường hợp là tốt. Sau cùng, họ không biết liệu máy chủ của bạn có phân biệt chữ hoa chữ thường hay không và có thể họ đã gặp phải 404 lỗi từ các máy chủ web nhạy cảm trong quá khứ.

Nếu máy chủ của bạn phân biệt chữ hoa chữ thường và bạn đang sử dụng URL trường hợp hỗn hợp, bạn đang cung cấp nhiều phạm vi hơn cho người dùng để nhập sai URL. Hơn nữa, giả sử bạn có URL www.example.com/Contact. Thật dễ nhầm lẫn giữa chữ hoa và chữ thường "c" (đặc biệt nếu nó được sao chép bằng văn bản) nếu người dùng nhìn thấy điều này và sử dụng sai trường hợp họ không bao giờ có thể tiếp cận nội dung của bạn.

Với tất cả điều này, hãy xem xét www.example.com/News/Articles/FreeIceCreamForAll. Trên bàn phím không quá khó nhưng hãy xem xét điều này trên thiết bị di động, rất khó để nhập vào.

Điều ngược lại cũng đúng nếu người dùng muốn ghi lại URL từ thanh địa chỉ. Họ có thể cảm thấy họ cần phải phù hợp với vụ án, cuối cùng cho họ thêm nhiều việc phải làm và tăng khả năng xảy ra lỗi.

Để kết luận; giữ cho các trường hợp URL thấp hơn.

-15

ĐỐI VỚI khía cạnh bảo mật của vấn đề này:

Có thực sự là một lý do an ninh tốt để sử dụng một kết hợp của chữ hoa và chữ thường.

Nó có tác dụng gây nhầm lẫn và chặn kẻ tấn công!

Trong cuộc trò chuyện con người, con người có thể dễ dàng nhầm lẫn với việc sử dụng chữ hoa và chữ thường.

Con người không thể "nói" từ "số nhận dạng hoặc mật khẩu hoặc url" với độ rõ ràng nếu chúng chứa chữ hoa và chữ thường.

Điều này giúp bảo mật dữ liệu hoặc mật khẩu trên các phần phụ của trang web được cung cấp như một phần của phần phụ bị khóa hoặc an toàn của phần "truy cập tự động" của trang web hoặc dữ liệu của chúng.

Nó tương tự như KHÔNG SỬ DỤNG JSON.

JSON là "văn bản có thể đọc được" và vì vậy JSON chỉ đơn giản là cung cấp cho tất cả những kẻ tấn công (Bao gồm cả Chính phủ, Google .. người ăn cắp ý tưởng và dữ liệu của bạn) ... gần như mọi thứ họ cần biết về dữ liệu ... nó an toàn hơn nhiều khi gây nhầm lẫn cho họ bằng cách sử dụng "giao thức nhị phân" riêng biệt rất nhanh - sử dụng "cấu trúc dữ liệu không thể biết" của riêng bạn ... nhưng chỉ xem ra, bởi vì thực sự có thể gây nhầm lẫn cho chính bạn hoặc nhóm phát triển của riêng bạn.

Tất cả các lớp bảo mật và giao thức của bạn phải được "quản lý tốt" để tránh nhầm lẫn. Do đó, có một mức độ bảo mật trang web và dữ liệu bổ sung từ những kẻ tấn công của con người (và một số robot) bằng cách sử dụng các hệ thống hoàn toàn độc đáo (tức là tại sao mọi người đều muốn sử dụng "giao thức bảo mật chuẩn" khi một số tính toán đơn giản trước đây nặng có thể dễ dàng bị phá vỡ).

Chỉ cần "muối và băm" tất cả mọi thứ - cộng thêm cũng thêm một số bảo mật bổ sung riêng biệt của riêng bạn - nó chỉ là commonsense!

Kết luận: Tất cả các câu trả lời ở trên rất rõ ràng và chính xác - nhưng bạn cũng có thể vui vẻ tận dụng cùng kiến ​​thức đó để gây nhầm lẫn cho những kẻ tấn công tiềm năng.

+5

Bảo mật thông qua sự tối tăm là bảo mật kém. Hơn nữa, "kẻ tấn công" sẽ không sử dụng lời nói để giao tiếp. Email là sooo đáng tin cậy hơn nhiều ngay cả khi bạn bỏ qua việc truyền tải trường hợp dễ dàng hơn. –

+0

cảm ơn rất nhiều về số điểm âm (whaaaa) ... tuy nhiên tôi sẽ dính vào khẩu súng và câu trả lời của tôi bởi vì ngay cả GCHQ cũng có thông điệp mã hóa quân sự lịch sử rằng họ vẫn KHÔNG THỂ giải mã chỉ ngồi đó trong văn bản thuần tuý từ WW2 vì >>> ALICE và BOB sử dụng thuật toán mã hóa "duy nhất cho họ" KHÔNG chuẩn và rằng họ đã được đồng ý trước và vì vậy ngay cả bây giờ EVE ngày nay (với tất cả sức mạnh của GCHQ phía sau cô) không thể giải mã thông điệp của họ. –

+1

URL được cho là có thể đọc được bởi con người. Nếu bạn cho rằng người dùng có thể truy cập vào trang web của mình thì vấn đề bảo mật sẽ không xuất bản trên Web. – sba

9

Tôi sẽ phải đồng ý với tất cả sự khôn ngoan lập về vấn đề này, vì vậy tôi có lẽ sẽ nhận được downvoted, nhưng:

Nếu bạn chuyển hướng tất cả trường hợp hỗn hợp url url cased đúng cách của bạn, nó giải quyết tất cả các vấn đề được đề cập. Do đó có vẻ như lập luận này đến từ truyền thống và sở thích. Điểm của một URL là để có một đại diện thân thiện với người dùng của một trang, và nếu url của bạn là thân thiện với trường hợp trên, tại sao không sử dụng nó? Hãy so sánh:

moviesforyoutowatch.com/batman-vii-the-dark-knight-whatevers MoviesForYouToWatch.com/Batman-VII-The-Dark-Knight-Whatevers

tôi tìm ra phiên bản chữ hỗn hợp vượt trội cho mục đích. Nếu có lý do kỹ thuật không thể giải quyết được bằng so sánh và chuyển hướng thấp hơn, vui lòng chia sẻ nó.

+2

Sự cố với trường hợp kết hợp là phương tiện truyền thông xã hội. Nếu bạn quan tâm về Facebook thích ví dụ. Url được chia sẻ trên Facebook phân biệt chữ hoa chữ thường. Nếu vì một lý do nào đó, ai đó đã chia sẻ url của bạn bằng chữ thường, đó là một URL khác. Đó là lý do tại sao cách tiếp cận an toàn là dính vào tất cả các chữ thường chứ không phải là trường hợp hỗn hợp. Bên cạnh đó, người dùng không nhìn vào một URL. Người dùng chỉ nhấp vào liên kết. – Ross

+0

Nếu vì một lý do nào đó, ai đó đã chia sẻ url của bạn trong UPPERCASE, đó là một URL khác. Đó là lý do tại sao cách tiếp cận an toàn là gắn bó với tất cả UPPERCASE hơn là trường hợp hỗn hợp. – Gqqnbig