Tại sao lại coi đây là các URL có viết hoa đường dẫn khác nhau và dấu gạch chéo là khác nhau?


8

Đây là tất cả các url hoàn toàn khác nhau:

http://www.example.com/page
http://www.example.com/pAge
http://www.example.com/page/
http://www.example.com/paGE/

Tôi hiểu rằng nó phù hợp với các quy tắc ISO nghiêm ngặt, nhưng tại sao? Có bao nhiêu trang web ngoài đó thực sự xử lý pagepage/như các url khác nhau mà bạn có thể truy cập? Hoặc thực sự sử dụng viết hoa để phân biệt nội dung? Nếu họ đã làm tôi sẽ nói với họ có lẽ họ đang làm sai.

Tại sao chúng ta phải lãng phí thời gian tuân thủ các quy tắc này? Không phải là khá tầm thường khi Google tìm ra điều đó pagepage/là cùng một trang và có lẽ không nên coi là nội dung trùng lặp?

Câu trả lời:


10

Tôi hiểu rằng nó phù hợp với các quy tắc ISO nghiêm ngặt, nhưng tại sao?

Có các hệ điều hành khác nhau đằng sau các máy chủ khác nhau trên mạng và đối với một số trong số chúng, một thư mục hoặc tệp có tên pagekhông giống với một tên được đặt tên Page. Kết quả là những cái đó thực sự là hai vị trí khác nhau và thậm chí không nhất thiết phải cùng một loại vị trí (dir / page). Máy chủ web có thể được cấu hình là không phân biệt chữ hoa chữ thường, nhưng bạn không thể cho rằng. Do đó, các quy tắc phải giả định điều quan tâm đến trường hợp và nếu họ không thì bất cứ điều gì. Trên thực tế, có lẽ không phải là một ý tưởng tuyệt vời để dựa vào sự khác biệt của trường hợp, nhưng tình huống có tồn tại và do đó nó phải được tính đến, đôi khi với những thứ như mod_speling .

Có bao nhiêu trang web ngoài đó thực sự coi trang và trang / như các url khác nhau mà bạn có thể truy cập?

Họ khác nhau. Nó hầu như luôn bị ẩn khỏi bạn:

  1. Khi bạn truy cập vào example.com/foo/máy chủ web, bạn sẽ biết rằng bạn đang truy cập một thư mục và vì vậy hãy tìm một tệp trong đó khớp với bất cứ thứ gì nó được cấu hình để nhận ra là một chỉ mục thư mục. Vì vậy, cuối cùng bạn kết thúc tại example.com/index.htmlví dụ.
  2. Nếu bạn đi đến example.com/foomáy chủ thì thực sự sẽ tìm một tập tin trong thư mục gốc có tên foo. Nếu nó không tìm thấy, thì nó sẽ kiểm tra xem có thư mục nào được đặt tên không /foovà bạn có thể lên tới # 1.

Những gì bạn dường như đang đọc là hành vi "bình thường" trong # 2 thực sự là một dự phòng để xử lý một trường hợp có khả năng.
Có bao nhiêu người sử dụng tên tệp không có phần mở rộng là không liên quan. Một lần nữa: vấn đề thực sự; cần phải được tính toán.

Nếu họ đã làm tôi sẽ nói với họ có lẽ họ đang làm sai.

Đó là một ý kiến.
Bạn có thể sao lưu bằng nhiều lý lẽ thực tế khác nhau về tính không nhạy cảm của trường hợp và cách xử lý các URL không có tiện ích mở rộng mà tôi không nhất thiết không đồng ý, nhưng thực tế bạn sẽ sai khi nói điều này.


Ví dụ xấu xí / khó chịu vì không gây rối với trường hợp: Có một trang web tôi quản lý, nhưng nhân viên CNTT của khách hàng quản lý máy chủ thực tế. Họ đã định cấu hình nó để chuyển hướng tất cả các lượt truy cập example.com sang www.example.com nhưng vì lý do nào đó, việc chuyển hướng cũng buộc mọi thứ viết thường (tôi không được nói điều này). Các biên tập viên trang web đã được tải lên, ví dụ. CamelCase.jpg. Một số mã khác mà tôi không kiểm soát sẽ liên kết đến những hình ảnh đó mà không có www, gây ra tất cả các loại phá vỡ ngớ ngẩn cho đến khi chúng tôi săn lùng nó.
Su '


8

Không có ý định xúc phạm, nhưng Độ nhạy của Case là VITAL cho các url ngày hôm nay - chúng được sử dụng hàng triệu lần mỗi ngày:

bit.ly

  1. http://bit.ly/ri2LhQ
  2. http://bit.ly/ri2LHq

Hai trang web rất khác nhau - chỉ có thể vì phân biệt chữ hoa chữ thường


3
Đoán làm thế nào tôi làm điều đó? Tôi đã lấy một url của tôi từ trường hợp bitly và thay đổi ngẫu nhiên. Tôi đã mất 2 lần thử để đưa ra một URL duy nhất. Liên quan đến ví dụ của bạn, nơi tương đối rõ ràng rằng mỗi trang phải là cùng một trang ... đó là điều mà chuyển hướng 301 dựa trên máy chủ hoặc máy chủ xuất hiện. Bạn phải chịu trách nhiệm về sức mạnh của cấu trúc URL chứ không phải chính giao thức HTTP.
Chris Kluis

5

Đây không phải là một chính sách của Google, chúng là những quy tắc cơ bản.

Từ quan điểm người dùng windows, rất khó để hiểu tên tệp phân biệt chữ hoa chữ thường. Tuy nhiên, trong các hệ thống unix / linux, pAge và trang không phải là cùng một tệp cũng như thư mục, v.v. trên máy chủ web.

Dấu gạch chéo là một vấn đề cấu hình (hoặc lựa chọn). Hãy nhớ rằng trên hầu hết các máy chủ web, máy chủ sẽ đưa ra chuyển hướng 30x trên / trang hai / trang /, do đó, yêu cầu một yêu cầu thứ hai đến máy chủ của bạn.

Bạn có thể làm cho trường hợp máy chủ web của bạn không nhạy cảm và định cấu hình nó theo bất kỳ cách nào bạn muốn tuân thủ các quy tắc của riêng bạn.

Nhưng một lần nữa, nó hoàn toàn không liên quan đến Google

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.