Філософічно кажучи, сторінки не «існують». Коли ви кладете книги або папери на свою полицю, вони залишаються там. На цій полиці вони існують окремо. Однак сторінка існує лише до тих пір, поки вона розміщується на якомусь комп’ютері, який увімкнено та може надавати її на вимогу. Сторінку, звичайно, завжди можна створити на льоту, тому їй не потрібно мати особливого існування до вашого запиту.
А тепер подумайте про це з точки зору сервера. Припустимо, це, скажімо, правильно налаштований Apache --- не однорядковий сервер python, який просто відображає всі запити до файлової системи. Тоді певний шлях, вказаний у URL-адресі, може не мати нічого спільного з розташуванням певного файлу у файловій системі. Отож, знову ж таки, сторінка не «існує» у явному сенсі. Можливо, ви запитуєте http://some.url/products/intel.html
, і ви отримуєте сторінку; тоді ви просите http://some.url/products/bigmac.html
, і ви нічого не бачите. Це не означає, що є один файл, але не інший. Можливо, у вас немає дозволів на доступ до іншого файлу, тому сервер повертає 404, або, можливо, bigmac.html
він повинен був обслуговуватися з віддаленого сервера Mc'Donalds, який тимчасово не працює.
Що я намагаюся пояснити, 404
це лише цифра. У цьому немає нічого особливого: це могло бути 40404
або -2349.23847
, ми щойно домовились про використання 404
. Це означає, що сервер є, він з вами спілкується, він, мабуть, зрозумів, що ви хотіли, і йому нічого вам повернути. Якщо ви думаєте , доречно повернутися 404
до http://some.url/products/bigmac.html
коли сервер вирішує не служити файл з якої - небудь причини, то ви могли б також погодитися повернутися 404
на http://some.url/products?id=bigmac
.
Тепер, якщо ви хочете бути корисним для користувачів із браузером, які намагаються вручну відредагувати URL-адресу, ви можете перенаправити їх на сторінку зі списком усіх продуктів та деякими можливостями пошуку, а не просто давати їм 404
--- або ви може дати 404
код як посилання на всі товари. Але тоді ви можете зробити те саме http://some.url/products/bigmac.html
: автоматично перенаправити на сторінку з усіма продуктами.