Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Как удалить кэш сайта?

1183  1 2 3 4 все
AlexNek патриот24.09.21 13:24
AlexNek
NEW 24.09.21 13:24 
в ответ schizo 23.09.21 21:39
nginx disable cache

не помогло хммм

https://ubiq.co/tech-blog/disable-nginx-cache

#21 
AlexNek патриот24.09.21 13:28
AlexNek
NEW 24.09.21 13:28 
в ответ schizo 24.09.21 13:08
name-based

Так сейчас и делаю, но от кэширования это не спасает. Обновляю содержимое вручную, а фиг вам.

Просто хотелось иметь domain/myarea, но так тоже пойдет myarea.domain

#22 
schizo коренной житель24.09.21 13:32
schizo
NEW 24.09.21 13:32 
в ответ AlexNek 24.09.21 13:24, Последний раз изменено 24.09.21 13:34 (schizo)

а что именно Вы оттуда сделали? что в DevTool показывает? и что показывает, если кнопку Refresh нажать при зажатом Ctrl?

Храни Вас Г-дь!
#23 
Murr патриот24.09.21 13:41
Murr
NEW 24.09.21 13:41 
в ответ alex445 24.09.21 03:18

Такое на Stackoverflow заходит на "ура".

-----

Не-а...

Там есть только ответ - "4".

#24 
Murr патриот24.09.21 13:59
Murr
NEW 24.09.21 13:59 
в ответ AlexNek 24.09.21 12:27

Как ты два собрался делать не имею понятия?

-----

Да без проблем - внешний - один, на веб-сервере - по одному на сайт, роутинг - по МАКам..


У меня их что - магазин доменов?

-----

Что у тебя - Я не знаю.

А у меня был локальный ДНС (без синхронизации), прописанный первым - как мне надо - так и настраивал.


нету такого на сервере

-----

Нет именно этого - есть какой-то аналог.

Просто потому как Апача позволяет хостить более одного сайта.

А что именно и где - надо смотреть в мат.части - Я Апачем не пользуюсь.


У меня все ИП fritzbox раздает.

-----

Не фризбох, а ДХЦП на фризбохе - урезаешь ему зону раздаваемых ИП на полсетки и получаешь полсетки для статиков, которые можно прописывать как первыми, так и вторыми.

Но даже это не требуется - можно писать сразу статики и даже из другой подсети.

А вообще - Я плохо понимаю как можно вешать веб-сервер на динамический ИП...


Чутка посисадминить в детстве в какой-нибудь конторе было бы полезно... спок

#25 
AlexNek патриот24.09.21 15:11
AlexNek
NEW 24.09.21 15:11 
в ответ schizo 24.09.21 13:32
а что именно Вы оттуда сделали?

В

etc/nginx/nginx.conf

и (где сайт)

etc/nginx/sites-enabled/ххх.conf

Добавил часть после коммента

# kill cache

Потом

nginx -s reload

Ничего нет подобного что на картинке. Вот два файла которые изменил

Хотя заметил две интересные вещи: появился нет6, хотя проект с 5.0

и service-worker.js 22

await caches.open(cacheName).then(cache => cache.addAll(assetsRequests));

#26 
AlexNek патриот24.09.21 15:18
AlexNek
NEW 24.09.21 15:18 
в ответ Murr 24.09.21 13:59
Что у тебя - Я не знаю.

Ну так картинка примерно такая, как привел.

А как домен иметь без покупки - не знаю смущ


Нет именно этого - есть какой-то аналог

Есть только по имени и по порту.


как можно вешать веб-сервер на динамический ИП

Это фрица этим занимается, как ИП изменился - докладывает наверх.


в детстве

прошло уже блин хммм

#27 
MrSanders коренной житель24.09.21 15:48
NEW 24.09.21 15:48 
в ответ AlexNek 24.09.21 15:11
etc/nginx/nginx.conf

Аккуратнее. Мне помнится что синолоджи эти файлы при каждом перезапуске сервиса генерирует заново. Т. е. их править не поможет.

Но я не помню точно, происходит ои такое с nginx. Поищи в гугле что-то вроде synology template for nginx (по-моему

#28 
AlexNek патриот24.09.21 21:35
AlexNek
NEW 24.09.21 21:35 
в ответ MrSanders 24.09.21 15:48
синолоджи эти файлы при каждом перезапуске сервиса генерирует заново

Нет, остаются, проверил. Может не туда записал? Там либо порт 80/433, либо мое имя сайта возле listen.

Студия гадина тоже не всегда обновляет "вывод".

#29 
AlexNek патриот24.09.21 21:36
AlexNek
NEW 24.09.21 21:36 
в ответ AlexNek 24.09.21 15:11
caches.open(cacheName)

Этот кэш не играет никакой роли, там все равно пусто. Это для offline режима важно будет

#30 
Murr патриот24.09.21 22:22
Murr
NEW 24.09.21 22:22 
в ответ AlexNek 24.09.21 15:18

Есть только по имени и по порту.

-----

Не рассказывай мне глупости.

Да, Я не знаю апача, но Я знаю что мелкомягкие с него стянули очень многое.

Так что думаю что надо изучать матчасть...


Это фрица этим занимается

-----

Думаю что тут написаны глупости.

Скорее всего где-то прописано что веб-трафик кидать на тот МАК независимо от текущего ИП...


прошло уже блин

-----

Увы и ах... Мне повезло - успел поковырятся в сетках... хотя и недостаточно для сетевика...

#31 
Murr патриот24.09.21 22:32
Murr
NEW 24.09.21 22:32 
в ответ AlexNek 24.09.21 15:18

А как домен иметь без покупки - не знаю

-----

Свой ДНС-сервер без синхронизации с сетевыми.

Там как пропишешь - так и будет. Можешь хоть гооглу на себя перенаправить...

#32 
BSDLamer Хвостатый Carpal Tunnel25.09.21 00:49
BSDLamer
NEW 25.09.21 00:49 
в ответ AlexNek 23.09.21 17:19

не знаю правильно ли я понял вопрос но есть определенные best practices как ставить catche header определенным mime types.

например надо говорить браузеру не кешировать html вообще если сайт меняется (а обычно он меняется, за исключением если ты залил версию которой больше не нужны изменения)


принятно выставлять кэш css и js примерно на 1 год, НО при каждом изменении css и js надо им генерировать рандомное имя. Например myfile_234lkj234l.js, каждый билд будет оставлять префикс myfile_, но будет генерировать рандомный стринг после префикса который и будет вставляться в твой html который не кэшируется, а значит при каждом изменении js браузеру придется грузить новый js, даже если предидущую версию он положил в кэш на год (имя js файла в твоем html поменялось)


вот пример конфигурации кэш хэдеров для nginx


https://github.com/h5bp/server-configs-nginx/blob/main/h5b...


https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/...

у тебя скорее всего вебсервер говорит браузеру кэшировать html


0001, 0010, 0011, 0100, 0101, вышел зайчег погулядь
#33 
BSDLamer Хвостатый Carpal Tunnel25.09.21 00:54
BSDLamer
NEW 25.09.21 00:54 
в ответ AlexNek 23.09.21 17:19

генерировать рандомные имена называется filename-based cache-busting

0001, 0010, 0011, 0100, 0101, вышел зайчег погулядь
#34 
AlexNek патриот25.09.21 10:56
AlexNek
NEW 25.09.21 10:56 
в ответ BSDLamer 25.09.21 00:49
НО при каждом изменении css и js надо им генерировать рандомное имя

Не уверен что все имена можно изменить как угодно в MS проекте, да и не выход это. Вот хотя бы index.html


Этих кэшей может быть дофига

https://www.nginx.com/blog/nginx-caching-guide/

There are potentially multiple caches between the web browser and the application server:

the client’s browser cache, intermediary caches, content delivery networks (CDNs), and the load balancer or reverse proxy sitting in front of the application servers.


Хорошо бы найти нужный и просто удалить.


надо говорить браузеру не кешировать html

Это похоже на стороне сервера. Попробовал с "новым" браузером - никаких отличий

#35 
AlexNek патриот25.09.21 11:00
AlexNek
NEW 25.09.21 11:00 
в ответ Murr 24.09.21 22:22
Так что думаю что надо изучать матчасть...

ну найти тут еще один вариант



#36 
AlexNek патриот25.09.21 11:02
AlexNek
NEW 25.09.21 11:02 
в ответ Murr 24.09.21 22:32
Свой ДНС-сервер без синхронизации с сетевыми

И как интересно тогда дядя Вася вызовет мой сайт из своего компа?

Никаких настроек он менять не будет спок

#37 
BSDLamer Хвостатый Carpal Tunnel25.09.21 11:12
BSDLamer
NEW 25.09.21 11:12 
в ответ AlexNek 25.09.21 10:56
Не уверен что все имена можно изменить как угодно в MS проекте, да и не выход это. Вот хотя бы index.html

что конкретно генерирует сайт ? Так index.html и не надо, ты с помощью кэш хедера говоришь браузеру не кешировать html. Кешируется только js и css и cache busting решает проблему их обновления


Этих кэшей может быть дофига

конечно. По этому для управления этими кешами и есть Cache-Control header и тд. который всем этим кешам и говорит что кешировать и на сколько а что нет


Это похоже на стороне сервера. Попробовал с "новым" браузером - никаких отличий

покажи что говорит

curl -v http://your-ip/index.html

0001, 0010, 0011, 0100, 0101, вышел зайчег погулядь
#38 
AlexNek патриот25.09.21 11:44
AlexNek
NEW 25.09.21 11:44 
в ответ BSDLamer 25.09.21 11:12
что конкретно генерирует сайт ?

Есть Blazor PWA тест проект - копируется часть каталога publish


ты с помощью кэш хедера говоришь браузеру не кешировать html

Пока не нашел как браузер здесь вмешивается.


покажи что говорит

Это прямо с сервера


xxx# curl -v https://xxx.synology.me/

* TLSv1.3 (OUT), TLS handshake, Client hello (1):

* TLSv1.3 (IN), TLS handshake, Server hello (2):

* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):

* TLSv1.3 (IN), TLS handshake, Certificate (11):

* TLSv1.3 (IN), TLS handshake, CERT verify (15):

* TLSv1.3 (IN), TLS handshake, Finished (20):

* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):

* TLSv1.3 (OUT), TLS handshake, Finished (20):

> GET / HTTP/2

> Host: xxx.synology.me

> user-agent: curl/7.75.0

> accept: */*

>

* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):

* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):

< HTTP/2 200

< date: Sat, 25 Sep 2021 09:28:30 GMT

< content-type: text/html

< content-length: 2911

< last-modified: Fri, 24 Sep 2021 11:21:35 GMT

< vary: Accept-Encoding

< etag: "614db4bf-b5f"

< accept-ranges: bytes

<

<!DOCTYPE html>

<html>

актуальный текст

--Это с клиента--

C:\>curl -v https://xxx.synology.me/

* Trying ххх.ххх.ххх.ххх...

* TCP_NODELAY set

* Connected to xxx.synology.me (xxx.xxx.xxx.xxx) port 443 (#0)

* schannel: SSL/TLS connection with xxx.synology.me port 443 (step 1/3)

* schannel: checking server certificate revocation

* schannel: sending initial handshake data: sending 204 bytes...

* schannel: sent initial handshake data: sent 204 bytes

* schannel: SSL/TLS connection with xxx.synology.me port 443 (step 2/3)

* schannel: encrypted data got 4094

* schannel: encrypted data buffer: offset 4094 length 4096

* schannel: sending next handshake data: sending 93 bytes...

* schannel: SSL/TLS connection with xxx.synology.me port 443 (step 2/3)

* schannel: encrypted data got 51

* schannel: encrypted data buffer: offset 51 length 4096

* schannel: SSL/TLS handshake complete

* schannel: SSL/TLS connection with xxx.synology.me port 443 (step 3/3)

* schannel: stored credential handle in session cache

> GET / HTTP/1.1

> Host: xxx.synology.me

> User-Agent: curl/7.55.1

> Accept: */*

>

* schannel: client wants to read 102400 bytes

* schannel: encdata_buffer resized 103424

* schannel: encrypted data buffer: offset 0 length 103424

* schannel: encrypted data got 3204

* schannel: encrypted data buffer: offset 3204 length 103424

* schannel: decrypted data length: 3175

* schannel: decrypted data added: 3175

* schannel: decrypted data cached: offset 3175 length 102400

* schannel: encrypted data buffer: offset 0 length 103424

* schannel: decrypted data buffer: offset 3175 length 102400

* schannel: schannel_recv cleanup

* schannel: decrypted data returned 3175

* schannel: decrypted data buffer: offset 0 length 102400

< HTTP/1.1 200 OK

< Date: Sat, 25 Sep 2021 09:36:51 GMT

< Content-Type: text/html

< Content-Length: 2911

< Last-Modified: Fri, 24 Sep 2021 11:21:35 GMT

< Connection: keep-alive

< Keep-Alive: timeout=20

< Vary: Accept-Encoding

< ETag: "614db4bf-b5f"

< Accept-Ranges: bytes

<

<!DOCTYPE html>

<html>

актуальный текст


Как смотришь DevTools/sources то там старый текст

Получается браузер?

#39 
BSDLamer Хвостатый Carpal Tunnel25.09.21 12:12
BSDLamer
NEW 25.09.21 12:12 
в ответ AlexNek 25.09.21 11:44, Последний раз изменено 25.09.21 12:36 (BSDLamer)
Есть Blazor PWA тест проект - копируется часть каталога publish

я не очень в курсе что это за софтина но судя по всему cache busting в ней возможен. https://stackoverflow.com/questions/60037402/cache-busting...

( второй ответ с линком )


Пока не нашел как браузер здесь вмешивается.

судя по аутпуту curl твой вебсервер отдает контент и не говорит клиенту как кешировать документ (нет ни Cache-Control ни Expires хедеров). Все что твоему браузеру остается это решать самому как кешировать документ, при этом ему остается расчитывать как долго кешировать документ только по Last-Modified заголовку и алгоритм скорее всего такой


(current time - last modified time) / 10


подробнее тут https://datatracker.ietf.org/doc/html/rfc7234#section-4.2....


Как смотришь DevTools/sources то там старый текст


это и есть причина почему даже после обновления документа на сервере твой браузер все равно достанет его из своего локального кэша.

советую перенять настройки из линка на h5bp который я тебе в предидущем посте бросил

0001, 0010, 0011, 0100, 0101, вышел зайчег погулядь
#40 
1 2 3 4 все