Вопрос по заголовку Last-Modified

O
На сайте с 29.05.2008
Offline
195
#11
roman1981:
Да, да, я понимаю этот момент. Но если представить, к примеру, что на сайте 5 тыс. страниц, достаточно ли будет роботу (поисковому боту) правильно настроенных заголовков "Last-Modified" / "If-Modified-Since" у меня на сайте? Вот в чём суть вопроса. В данный момент эти заголовки у меня настроены и работают корректно.

Я не уверен, что роботу будет достаточно Last-modified/If-modified-Since > 304 Not Modified.

Браузеру, в любом случае, еще нужно разрешить кеширование через cache-control.

Если директива cache-control установлена в private no-cache и в этом роде, браузер попросту не будет сохранять страницу в кеш, несмотря на присутствие заголовка валидатора кеша.

То-есть, через no-cache, при первом заходе, браузер не кеширует страницу.

А дальше, что он должен делать получив 304 Not Modified? Отображать что?

С роботом дела могут быть по другому.

Ведь робот сохраняет копию страницы, несмотря на no-cache.

Я советую вам лично провести эксперимент.

Подсуньте роботу страницу.

Проследите, чтобы он ее проиндексировал (через логи сервера).

А далее снова подсуньте роботу страницу (через add url или ссылку в твиттере разместите).

И снова через логи проследите, будет ли он скачивать ее повторно.

R1
На сайте с 20.04.2017
Offline
30
#12

Я более склоняюсь к тому, чтобы остаться на старом протоколе http. И развивать сайт именно на нём, но сомнения есть.

---------- Добавлено 08.01.2018 в 20:11 ----------

ortegas

Очень интересный совет, спасибо вам! Попробую поэкспериментировать. Но однозначно могу сказать, что у меня заголовка "Cashe-Control" в данный момент нет вообще, иными словами, браузер клиента будет действовать по умолчанию, то есть в соответствии со своими алгоритмами, что подразумевает кеширование контента по умолчанию (так как прямого запрета на это у меня на сайте нет). Или же необходимо отдельно разрешить браузеру клиента это делать? Именно добавить разрешающий заголовок "Cashe-Control: public", к примеру?

C
На сайте с 04.02.2005
Offline
277
#13

Если пришел

Last-modified/If-modified-Since

То контенет отдавать не надо, достаточно отдать 304 Not Modified.

и прервать соединение

Если кто-то стучится в дверь и спрашивает, а что у вас новое (видимо он знает - что-то было) ? А вы ему в ответ - ничего, и не надо пускать.

Но если он пришел без вопроса - то надо пускать.

O
На сайте с 29.05.2008
Offline
195
#14
roman1981:
Коллеги, ещё созрел один вопрос. Сайт у меня информационный, будет расти, но работает в данный момент на обычном старом протоколе http. Соответственно, в Гугле и Яндексе он проиндексирован именно по данному протоколу. Никогда никаких платежей на этом сайте не будет, он сугубо информационный. Максимум - это, возможно, добавлю форму обратной связи. Всё. Вопрос: стоит ли задумываться о переходе на протокол https? Мой хостер позволяет подключать бесплатный сертификат от Let's Encrypt (с автоматическим его продлением каждые три месяца). Но у меня сомнения... Стоит ли вообще мне переходить на безопасный протокол https ?

Плюсы перехода на HTTPS прямо сейчас:

1. Как я понимаю, у вас еще нету трафика и позиций, соответственно, вы ничего не потеряете, даже при некорректном переходе.

2. Google активно обращает внимание на протокол HTTP, как небезопасный.

И с каждым обновлением Chromium браузеров (Chrome, Brave, Opera), HTTP сайтам нормально функционировать становится все сложнее.

Я имею в виду не только надпись "Not Secure".

Некоторые новые функции браузера, типа Service Workers/Web Push доступны только HTTPS сайтам.

Минусы перехода на HTTPS:

1. Googlebot и Яндексбот на данный момент не используют HTTP/2 протокол.

Соответственно, HTTPS, даже работая под SPDY протоколом, будут существенно медленнее загружаться и расходовать существенно больше ресурсов, чем HTTP версии.

Однако не все так плохо.

Со второго квартала 2018, Google планирует массовое обновление Googlebot.

Об этом говорит то, что Google официально начинает поддерживать AJAX сайты в этот период.

Google не один раз заявлял, что Googlebot будет поддерживать HTTP/2 в будущем.

Для справки, HTTP/2 протокол может работать производительнее не зашифрованной HTTP/1.1 версии сайта. Это связано с тем, что HTTP/2 передает все файлы через одно подключение (тем самым экономя время на установление повторных соединений для скачивания дополнительных ресурсов сайта - CSS/JS/картинки).

Это бинарный протокол (хотя увы, я мало что могу сказать по этому поводу). Соответственно, заголовки передаются в сжатом формате, а не текстовом, как в случае с HTTP/1.1.

Будет хорошо, если меня поправят, потому, что именно этот момент я плохо понимаю.

---------- Добавлено 08.01.2018 в 19:19 ----------

Chukcha:
Если пришел
Last-modified/If-modified-Since
То контенет отдавать не надо, достаточно отдать 304 Not Modified.
и прервать соединение

Хорошая поправка!

https://github.com/ninenines/cowboy/issues/1153

В случае отправки 304 Not Modified, сервер не должен отправлять body (то-есть, страницу) и может упустить заголовок Content-Length (потому что она равна нулю) либо отправить значение для закешированной копии.

R1
На сайте с 20.04.2017
Offline
30
#15

ortegas

Коллега, я вижу, что вы достаточно подкованы технически, ваши ответы приятно читать. Сразу видно человека, который работает над собой. Относительно же перехода с http на https протокол (соответственно, с HTTP/1.1 версии сайта на версию HTTP/2). Я читал такую вещь, что для нормальной и корректной работы сайта на новом протоколе HTTP/2 необходимо обеспечить выделенный IP-адрес.

Кстати говоря, и мой хостер выводит предупреждение о том, что старые браузеры некорректно работают с новым протоколом HTTP/2, соответственно, рекомендует мне для корректной работы браузеров клиента подключить именно выделенный IP-адрес для моего сайта в случае перехода на https. Но проблема в том, что выделенный IP-адрес, мягко говоря, не дешёвое удовольствие у моего хостера, по стоимости в год он практически равен стоимости самого хостинга моего сайта, то есть если я закажу выделенный IP-адрес, то услуги хостинга сайта можно сразу же увеличивать в два, а то и в два с половиной раза. Потому-то я и сомневаюсь насчёт перехода с http на https...

---------- Добавлено 08.01.2018 в 20:46 ----------

Кстати говоря, необходимость выделенного IP-адреса связана с тем, что в случае зашифрованного соединения через протокол https, директива "host" в исходящем https-запросе клиента может не работать / не корректно работать (особенно, в старых версиях браузеров). Поскольку в данный момент я сижу у своего хостера на общем IP-адресе (вместе с парой десятков своих "соседей"), то есть я делю один IP-адрес с другими сайтами на данном хостинге, то при использовании нового протокола https (HTTP/2) мой хостер мне настойчиво рекомендует купить у него выделенный IP-адрес для моего сайта. Кто-то, возможно, прокомментирует данный вопрос? Стоит ли его покупать, или же в этом нет необходимости? Спасибо.

[Удален]
#16

Сейчас, я подытожу. Тс хочет переезд 30страничного информационника на https, чтобы завести себя http/2, для чего по его мнению нужен выделенный ip.

Я ни в чем не ошибся? :)

R1
На сайте с 20.04.2017
Offline
30
#17
Miha Kuzmin (KMY):
Сейчас, я подытожу. Тс хочет переезд 30страничного информационника на https, чтобы завести себя http/2, для чего по его мнению нужен выделенный ip. Я ни в чем не ошибся? :)

Да, всё верно. Именно такие условия мне навязывает мой хостер, вы всё правильно поняли. Меня, правда, смущает ваш смайлик в конце. Видимо, моя ситуация выглядит со стороны анекдотично?...

Однако учтите, пожалуйста, что мой 30-страничный информационник будет потихоньку расти, может и до довольно большого количества страниц в будущем. Потому-то я и беспокоюсь...

O
На сайте с 29.05.2008
Offline
195
#18
roman1981:
Кстати говоря, необходимость выделенного IP-адреса связана с тем, что в случае зашифрованного соединения через протокол https, директива "host" может не работать в некоторых браузерах (особенно, в старых версиях браузеров). Поскольку в данный момент я сижу у своего хостера на общем IP-адресе (вместо с парой десятков своих "соседей"-сайтов), то есть я делю один IP-адрес с другими сайтами на данном хостинге, то при использовании нового протокола https (HTTP/2) мой хостер мне настойчиво рекомендует купить у него выделенный IP-адрес для моего сайта. Кто-то, возможно, прокомментирует данный вопрос? Стоит ли его покупать, или же в этом нет необходимости? Спасибо.

Я ничего не слышал о надобности выделенного IP.

Порекомендовать могу только хорошее решение, которым пользуюсь сам.

А именно digitalocean.com VPS.

Сервера digitalocean размещены у Amazon.

На digitalocean работает много известных проектов, такие, как Tunnel Bear VPN/Todoist, ...

5$ долларов в мес., 512 МБ ОЗУ, 15 ГБ SSD.

На практике, их сервера работают быстрее даже fastvps, но при этом удобнее почти по всем параметрам.

В два клика можно установить LEMP Ubuntu LTS (последняя версия Ubuntu LTS с предустановленной последней версией nginx/php7/mysql5.6 с включенным http/2, предустановленным let's encrypt, поддержкой IPv6/IPv4 выделенные адреса, встроенный бекап и мониторинг, динамического изменения тарифа налету (можно в два клика изменить тариф), почасовой тарификацией).

При регистрации по рефкоду - 10$ бесплатно (хватает на 2 месяца оплаты / никаких стартовых платежей, но карту для оплаты нужно привязать).

В случае регистрации по моему рефкоду, бесплатно помогу с настройкой и переносом.

Я получу 25$, как только вы потратите на услуги 25$ (не включая ваши бонусные 10$).

Итого, digitalocean дарит нам 35$.

png 170107.png
png 170108.png
png 170109.png
R1
На сайте с 20.04.2017
Offline
30
#19

ortegas

Интересное решение, ранее о нём никогда не слышал. Спасибо. Изучу чуть позже этот вопрос, если меня устроит, напишу вам в личку. Пока же я активно "дискутирую" с техподдержкой своего хостера. Они мне описывают все преимущества именно выделенного IP-адреса для моего веб-сайта. Хотя, какие-то сомнения у меня закрадываются (т.е. зачем он мне в данный момент нужен - не совсем понятно).

[Удален]
#20
roman1981:
Видимо, моя ситуация выглядит со стороны анекдотично?...

Ага. Если брать эту ситуацию в общем - не в коня корм.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий