У вас есть опечатка в вашем коде. Вы добавили сам массив, а не нужный элемент массива, поэтому вы создали строку, которая буквально содержит хеш-код вашего массива carrier
.
Строка:
sb.append(carrier);
должна быть:
sb.append(carrier[0]);
Просто к вашему сведению, то, что вы считаете ссылкой, на самом деле является хеш-кодом значения поля carrier
.
Да, это правильное и хорошо известное поведение (возможно, действительно не требуется).
Прочтите http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html об ETag.
Возможно, вы хотите просто отключить ETag на server.
Edit: Также используйте аддон LiveHTTPHeaders, чтобы понять, что делает ваш браузер. Для этой задачи он работает лучше, чем FireBug.
У меня такая же проблема, как и у вас. Удаление etag будет работать.
Добавьте в файл конфигурации следующее: FileETag нет
Привет, у меня была такая же проблема. Но просто положить в FileTag, никто не работает
так, как я исправил его (и я не знаю, правильно ли это - но это работает) Я положил
FileTag None
в нижней части мой файл htaccess.
Тогда Yslow был счастлив.
YSlow сообщает о неправильно настроенных тегах etags, если они не соответствуют определенному шаблону. Поскольку вы сжимаете css и js, etags выводятся примерно так:
Etag "1e10-4889909861a80"-gzip
Видите -gzip в конце? Он помещается туда с помощью apache (только версия 2). Вот что вызывает «ошибку». YSlow ожидает увидеть что-то вроде этого:
Etag "xxxx-xxxxxxxxxxxxx"
По сути, вы не можете это исправить, потому что это не сломано. Так что не сходите с ума, пытаясь набрать наивысший балл, если вы не знаете, что делаете. Даже эта домашняя страница Yahoo получает только 90 баллов.