Nói một cách triết học, các trang không "tồn tại". Khi bạn đặt sách hoặc giấy tờ lên giá sách, chúng sẽ ở đó. Chúng có một số tồn tại riêng biệt trên kệ đó. Tuy nhiên, một trang chỉ tồn tại miễn là nó được lưu trữ trên một số máy tính được bật và có thể cung cấp nó theo yêu cầu. Tất nhiên, trang có thể luôn được tạo nhanh chóng, vì vậy nó không cần phải có bất kỳ tồn tại đặc biệt nào trước khi bạn yêu cầu.
Bây giờ hãy nghĩ về nó từ quan điểm của máy chủ. Giả sử rằng nó được cấu hình đúng Apache --- không phải là một máy chủ python một dòng chỉ ánh xạ tất cả các yêu cầu đến hệ thống tệp. Sau đó, đường dẫn cụ thể được chỉ định trong URL có thể không liên quan gì đến vị trí của một tệp cụ thể trong hệ thống tệp. Vì vậy, một lần nữa, một trang không "tồn tại" theo bất kỳ nghĩa rõ ràng nào. Có lẽ bạn yêu cầu http://some.url/products/intel.html
, và bạn nhận được một trang; sau đó bạn yêu cầu http://some.url/products/bigmac.html
, và bạn không thấy gì. Nó không có nghĩa là có một tệp nhưng không có tệp khác. Bạn có thể không có quyền truy cập vào tệp khác, vì vậy máy chủ trả về 404 hoặc có thểbigmac.html
thể được phục vụ từ máy chủ Mc'Donalds từ xa, máy chủ này tạm thời ngừng hoạt động.
Những gì tôi đang cố gắng giải thích là, 404
chỉ là một con số. Không có gì đặc biệt về nó: nó có thể đã được 40404
hoặc -2349.23847
, chúng tôi vừa đồng ý sử dụng 404
. Nó có nghĩa là máy chủ ở đó, nó giao tiếp với bạn, nó có thể hiểu những gì bạn muốn và nó không có gì để trả lại cho bạn. Nếu bạn nghĩ rằng đó là thích hợp để trở lại 404
cho http://some.url/products/bigmac.html
khi máy chủ quyết định không để phục vụ các tập tin vì lý do gì, sau đó bạn cũng có thể đồng ý quay trở lại 404
chohttp://some.url/products?id=bigmac
.
Bây giờ, nếu bạn muốn hữu ích cho người dùng sử dụng trình duyệt đang cố gắng chỉnh sửa URL theo cách thủ công, bạn có thể chuyển hướng họ đến một trang có danh sách tất cả các sản phẩm và một số khả năng tìm kiếm thay vì chỉ cung cấp cho họ 404
--- hoặc bạn có thể cung cấp 404
dưới dạng mã và liên kết đến tất cả các sản phẩm. Nhưng sau đó, bạn có thể làm điều tương tự với http://some.url/products/bigmac.html
: tự động chuyển hướng đến một trang có tất cả các sản phẩm.