Сегодня узнал еще один аргумент ЗА. За то, чтобы в урлах ставить завершающий слеш, при ссылках на каталог. Допустим, на сайте есть каталог test. А в нем есть файл index.html. И вебсервер настроен так, что показывает индексный файл при обращении к каталогу. Обычное дело. Но не все знают, что при обращении к серверу по урлу заканчивающемуся без слеша (бла.../test) сервер возвращает в браузер сообщение о перенаправлении:
HTTP/1.1 301 Moved Permanently
Location: http://бла...бла.../test/
заставляя браузер отправить этот же урл, но уже со слешем.
И все бы ничего. Каналы толстые, компы быстрые, никто и не заметит.
Но если на сервере конфиг посложнее умолчального, а, например, с переписыванием урлов и обратным проксированием, то все усложняется.
На этом я и заторчал сегодня. Запрос без слеша пойдет в бэкэнд уже переписанным от имени прокси. А бэкэнд, допустим есть сервер 127.0.0.1:999. Тогда предложение о редиректе попадет в браузер от имени бэкэнда и браузер попытается получить ответ по урлу http://127.0.0.1:999/бла../test/
И жестоко обломается.
И остается либо ИИ прикручивать к фронтэнду, либо избавляться от каталогов без завершающего слеша в урлах.
Я, конечно, попробую прикрутить интеллект к фронтэнду, чтобы он научился отличать правильные редиректы от неправильных, но шансов немного. Лучше уж слеши аккуратно писать.
А с редиректами - жопа. Это же распространненое средство. Что ни форма, то редирект. Как жить?
Tools
Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.
2009-03-17
Завершающие слеши в урлах
Posted by Valentin at 03:00
Labels: HTTP. Apache
Подписаться на:
Комментарии к сообщению (Atom)
Архив блога
-
▼
2009
(365)
-
▼
марта
(34)
- Мартин Гарднер
- ebook Lbook v3
- "Смотри, ласточка!" - "Клянусь Гераклом, правда!" ...
- Uppod flash media player
- Zope Oracle Database Adapter
- Оптимизация постраничной разбивки
- KeePass & mono под Linux
- KeePass
- VLC - могучий плеер
- Фу-у-ут!... Яа-а-ард!... Не-е, никак не сравнить
- Screencast howto
- День откровений
- Create screencast
- Надмозги
- Завершающие слеши в урлах
- Eclipse PyDev, Python IDE
- Samba + Win XP
- SAMBA
- hwclock directisa
- Debian + wireless, wpa + tkip + psk
- Debian GNU/Linux install from USB drive
- aptitude dist-upgrade
- Toshiba mk6022gax
- Все смешалось
- null – это не значение, а обозначение отсутствия з...
- Опять пулемет?
- 2. Суждения о безопасности мудреца Инь Фу Во
- 1. Суждения о безопасности мудреца Инь Фу Во
- Бамбуковые полотенца
- Эмоционально-субьективная окраска
- .bashrc
- Сетевое оборудование
- Рецепты от Гоблина
- Историческое
-
▼
марта
(34)
Ярлыки
linux
(241)
python
(191)
citation
(186)
web-develop
(170)
gov.ru
(159)
video
(124)
бытовуха
(115)
sysadm
(100)
GIS
(97)
Zope(Plone)
(88)
бурчалки
(84)
Book
(83)
programming
(82)
грабли
(77)
Fun
(76)
development
(73)
windsurfing
(72)
Microsoft
(64)
hiload
(62)
internet provider
(57)
opensource
(57)
security
(57)
опыт
(55)
movie
(52)
Wisdom
(51)
ML
(47)
driving
(45)
hardware
(45)
language
(45)
money
(42)
JS
(41)
curse
(40)
bigdata
(39)
DBMS
(38)
ArcGIS
(34)
history
(31)
PDA
(30)
howto
(30)
holyday
(29)
Google
(27)
Oracle
(27)
tourism
(27)
virtbox
(27)
health
(26)
vacation
(24)
AI
(23)
Autodesk
(23)
SQL
(23)
humor
(23)
Java
(22)
knowledge
(22)
translate
(20)
CSS
(19)
cheatsheet
(19)
hack
(19)
Apache
(16)
Manager
(15)
web-browser
(15)
Никонов
(15)
Klaipeda
(14)
functional programming
(14)
happiness
(14)
music
(14)
todo
(14)
PHP
(13)
course
(13)
scala
(13)
weapon
(13)
HTTP. Apache
(12)
SSH
(12)
frameworks
(12)
hero
(12)
im
(12)
settings
(12)
HTML
(11)
SciTE
(11)
USA
(11)
crypto
(11)
game
(11)
map
(11)
HTTPD
(9)
ODF
(9)
Photo
(9)
купи/продай
(9)
benchmark
(8)
documentation
(8)
3D
(7)
CS
(7)
DNS
(7)
NoSQL
(7)
cloud
(7)
django
(7)
gun
(7)
matroska
(7)
telephony
(7)
Microsoft Office
(6)
VCS
(6)
bluetooth
(6)
pidgin
(6)
proxy
(6)
Donald Knuth
(5)
ETL
(5)
NVIDIA
(5)
Palanga
(5)
REST
(5)
bash
(5)
flash
(5)
keyboard
(5)
price
(5)
samba
(5)
CGI
(4)
LISP
(4)
RoR
(4)
cache
(4)
car
(4)
display
(4)
holywar
(4)
nginx
(4)
pistol
(4)
spark
(4)
xml
(4)
Лебедев
(4)
IDE
(3)
IE8
(3)
J2EE
(3)
NTFS
(3)
RDP
(3)
holiday
(3)
mount
(3)
Гоблин
(3)
кухня
(3)
урюк
(3)
AMQP
(2)
ERP
(2)
IE7
(2)
NAS
(2)
Naudoc
(2)
PDF
(2)
address
(2)
air
(2)
british
(2)
coffee
(2)
fitness
(2)
font
(2)
ftp
(2)
fuckup
(2)
messaging
(2)
notify
(2)
sharepoint
(2)
ssl/tls
(2)
stardict
(2)
tests
(2)
tunnel
(2)
udev
(2)
APT
(1)
CRUD
(1)
Canyonlands
(1)
Cyprus
(1)
DVDShrink
(1)
Jabber
(1)
K9Copy
(1)
Matlab
(1)
Portugal
(1)
VBA
(1)
WD My Book
(1)
autoit
(1)
bike
(1)
cannabis
(1)
chat
(1)
concurrent
(1)
dbf
(1)
ext4
(1)
idioten
(1)
join
(1)
krusader
(1)
license
(1)
life
(1)
migration
(1)
mindmap
(1)
navitel
(1)
pneumatic weapon
(1)
quiz
(1)
regexp
(1)
robot
(1)
science
(1)
serialization
(1)
spatial
(1)
tie
(1)
vim
(1)
Науру
(1)
крысы
(1)
налоги
(1)
пианино
(1)
Комментариев нет:
Отправить комментарий