Post by letxobnav » Tue Jun 23, 2020 8:57 pm

change:

Code: Select all

elseif (in_array($type, array('jpg','webp')) && $pushImage) { 
		$headersImage[] = '<'.$file.'>; rel='.$method_img.'; as=image';
}
to

Code: Select all

elseif (in_array($type, array('jpg','webp')) && $pushImage) { 
	if (strstr($file,'40x40')) {
		$headersImage[] = '<'.$file.'>; rel='.$method_img.'; as=image';
	}
	if (strstr($file,'60x60')) {
		$headersImage[] = '<'.$file.'>; rel='.$method_img.'; as=image';
	}
}
or

Code: Select all

elseif (in_array($type, array('jpg','webp')) && $pushImage) { 
	if (strstr($file,'40x40') || strstr($file,'60x60')) {
		$headersImage[] = '<'.$file.'>; rel='.$method_img.'; as=image';
	}
}
or

Code: Select all

elseif (in_array($type, array('jpg','webp')) && $pushImage) { 
	if (strstr($file,'40x40') || strstr($file,'60x60')) {
		$headersImage[] = '<'.$file.'>; rel='.$method_img.'; as=image';
	} else {
		$method_img = 'prefetch';
		$headersImage[] = '<'.$file.'>; rel='.$method_img.'; as=image';
	}
}
to preload 40x40 and 60x60 and use prefetch for the others for instance

Crystal Light Centrum Taiwan
Extensions: MailQueue | SUKHR | VBoces

“Data security is paramount at [...], and we are committed to protecting the privacy of anyone who is associated with our [...]. We’ve made a lot of improvements and will continue to make them.”
When you know your life savings are gone.


User avatar
Expert Member

Posts

Joined
Fri Aug 18, 2017 4:35 pm
Location - Taiwan

Post by AndreyPopov » Tue Jun 23, 2020 9:11 pm

letxobnav wrote:
Tue Jun 23, 2020 8:57 pm
to preload 40x40 and 60x60 and use prefetch for the others for instance
if I try use prefetch than this test tool says : "Push : NO"

New member

Posts

Joined
Sat Feb 04, 2017 2:53 am

Post by letxobnav » Tue Jun 23, 2020 9:58 pm

of course, preload is a push, it tells the browser "you absolutely need this right away", prefetch is technically not a push but a recommendation to the browser saying "you might want to get this because I think you may need it". While it is always still up to the browser what is does or does not get (browsers rule in this business), preloads are always followed while prefetch is totally up to the browser to decide if it fetches it or not.
The same with browser caching, you can tell a browser what not to cache but you cannot force it what to cache, only for how long if it decides to cache.

Crystal Light Centrum Taiwan
Extensions: MailQueue | SUKHR | VBoces

“Data security is paramount at [...], and we are committed to protecting the privacy of anyone who is associated with our [...]. We’ve made a lot of improvements and will continue to make them.”
When you know your life savings are gone.


User avatar
Expert Member

Posts

Joined
Fri Aug 18, 2017 4:35 pm
Location - Taiwan

Post by letxobnav » Tue Jun 23, 2020 10:10 pm

http2_max_concurrent_pushes by default sets to 10?
that is when you let nginx do the pushing statically , just like you can have apache do the pushing statically via htaccess.
These pushes are handled dynamically by php via link headers.

Crystal Light Centrum Taiwan
Extensions: MailQueue | SUKHR | VBoces

“Data security is paramount at [...], and we are committed to protecting the privacy of anyone who is associated with our [...]. We’ve made a lot of improvements and will continue to make them.”
When you know your life savings are gone.


User avatar
Expert Member

Posts

Joined
Fri Aug 18, 2017 4:35 pm
Location - Taiwan

Post by AndreyPopov » Tue Jun 23, 2020 10:40 pm

letxobnav wrote:
Tue Jun 23, 2020 9:58 pm
preloads are always followed while prefetch is totally up to the browser to decide if it fetches it or not.
if even only one link in header with method=prefetch than test tool says "Push: No"

and I cannot understand to whom I must trust?

New member

Posts

Joined
Sat Feb 04, 2017 2:53 am

Post by letxobnav » Wed Jun 24, 2020 12:23 am

https://www.nginx.com/blog/nginx-1-13-9 ... rver-push/
trust what you see in the developer tools network tab.

Crystal Light Centrum Taiwan
Extensions: MailQueue | SUKHR | VBoces

“Data security is paramount at [...], and we are committed to protecting the privacy of anyone who is associated with our [...]. We’ve made a lot of improvements and will continue to make them.”
When you know your life savings are gone.


User avatar
Expert Member

Posts

Joined
Fri Aug 18, 2017 4:35 pm
Location - Taiwan

Post by AndreyPopov » Sun Jun 28, 2020 4:52 am

some pages contains 10-20 images and push for all images on that pages work.

but some pages contains more than 50 images, like alize catalog where only 43 images of category or alize products as manufacturer.

where and how limit number of resources to push?
right question: number of resources added to header?

New member

Posts

Joined
Sat Feb 04, 2017 2:53 am

Post by letxobnav » Sun Jun 28, 2020 12:04 pm

well, you could add a counter.

In my case for category I have default 24 images in the grid for desktop, 12 for tablets and 8 for phones.
But those are all lazy loaded so I do not want to push all of them, just the ones which are most likely in view on page load.
Those images are 200x150 so I set a counter for those.

So for a desktop I set preload headers for the first 16 images with dimension 200x150 and prefetch for the rest.
For a tablet its the first 8 and for a phone the first 2 etc.

on my product page I have several product images also lazy loaded (main image and thumb).
So I preload the first main image 800x600 and 5 thumbs 120x90 and prefetch the rest for desktop.
Same for tablets.
For phones also the same but the main images are 400x300.

As I cannot at the output determine what each image is for, I only have the dimensions in the filename to go by.

so my images part looks like (after setting all counters to 1 first:
($method_img is preload and $method_lazy is prefetch, counters are set to 1 prior as well as dimensions before the foreach loop)

Code: Select all

				} elseif (in_array($type, $imageExtensions) && $pushImage) {
					$method = $method_img;
					// handle lazy loading image link methods, use $method_img for some, $method_lazy for the rest 
					// ROOT
					if (!isset($this->request->get['route']) || $this->request->get['route'] == 'common/home' || $this->request->get['route'] == '') {
						// root page lazy loads
						if (strstr($file,$grid_dimensions)) {
							if ($img_grid_count > 16) $method = $method_lazy;
							$img_grid_count = $img_grid_count + 1;
						}
						// banner
						if (strstr($file,$banner_dimensions)) {
							if ($img_banner_count > 1) $method = $method_lazy;
							$img_banner_count = $img_banner_count + 1;
						}
					// PRODUCT
					} elseif (isset($this->request->get['route']) && $this->request->get['route'] == 'product/product') {
						// product page lazy loads, preload first big one, prefetch the rest
						if (strstr($file,$main_dimensions)) {
							if ($img_main_count > 1) $method = $method_lazy;
							$img_main_count = $img_main_count + 1;
						}
						// product page lazy loads, preload first 4 additional ones, prefetch the rest
						if (strstr($file,$grid_dimensions)) {
							if ($img_grid_count > 4) $method = $method_lazy;
							$img_grid_count = $img_grid_count + 1;
						}
						// product page lazy loads, preload first 5 thumbs, prefetch the rest
						if (strstr($file,$thumb_dimensions)) {
							if ($img_thumb_count > 5) $method = $method_lazy;
							$img_thumb_count = $img_thumb_count + 1;
						}
					// CATEGORY
					} elseif (isset($this->request->get['route']) && $this->request->get['route'] == 'product/category') {
						// category page lazy loads
						if (strstr($file,$grid_dimensions)) {
							if ($img_grid_count > 16) $method = $method_lazy;
							$img_grid_count = $img_grid_count + 1;
						}
					}
					$headersImage[] = '<'.$file.'>; rel='.$method.'; as=image';
				}

Crystal Light Centrum Taiwan
Extensions: MailQueue | SUKHR | VBoces

“Data security is paramount at [...], and we are committed to protecting the privacy of anyone who is associated with our [...]. We’ve made a lot of improvements and will continue to make them.”
When you know your life savings are gone.


User avatar
Expert Member

Posts

Joined
Fri Aug 18, 2017 4:35 pm
Location - Taiwan

Post by AndreyPopov » Sun Jun 28, 2020 6:47 pm

no matter what use preload or prefetch

if number of links added to header more than 50 then I receive 404 or 503 error :( on page

New member

Posts

Joined
Sat Feb 04, 2017 2:53 am

Post by AndreyPopov » Wed Jul 01, 2020 11:12 pm

depends from size of images links in headers limited to 25-35

now testing all pages of my site and want insert limiter to number of links in detection algorithm.

difficulty in that Journal has separate view for desktop, tablet and mobile view and use different image dimensions and quantity for each view.

30 links on desktop view work, but same page on mobile view get 503 or 404 error :(

New member

Posts

Joined
Sat Feb 04, 2017 2:53 am

Post by letxobnav » Wed Jul 01, 2020 11:27 pm

yes, that makes it more difficult but I also have different image dimensions for phone/tablet/desktop and different default number of products shown.
But as long as you can identify what the image is for based on the route and the image filename, its ok.

Crystal Light Centrum Taiwan
Extensions: MailQueue | SUKHR | VBoces

“Data security is paramount at [...], and we are committed to protecting the privacy of anyone who is associated with our [...]. We’ve made a lot of improvements and will continue to make them.”
When you know your life savings are gone.


User avatar
Expert Member

Posts

Joined
Fri Aug 18, 2017 4:35 pm
Location - Taiwan

Post by AndreyPopov » Thu Jul 02, 2020 8:01 pm

find experimental limit of links in header and add limiter to algorithm:

Code: Select all

		$headerLinkCount = 0;
		foreach ($matches as $match) {
		if ( $headerLinkCount <=28  ) {
			$file = $match[2];
			if ($relative) {
				if (substr($file,0,1) != '/' && substr($file,0,8) != 'https://') $file = $subDir.$file;
			} else {
				if (substr($file,0,1) != '/' && substr($file,0,8) != 'https://') $file = HTTPS_SERVER.$file;
			}
			$type = $match[3];
			if ($type === 'js' && $pushJs) 										{ $headersJs[] = '<'.$file.'>; rel='.$method_js.'; as=script'; $headerLinkCount++; }
			elseif ($type === 'css' && $pushCss) 								{ $headersCss[] = '<'.$file.'>; rel='.$method_css.'; as=style'; $headerLinkCount++; }
			elseif ($type === 'mp3' && $pushMp3) 								{ $headersMp3[] = '<'.$file.'>; rel='.$method_mp3.'; as=audio'; $headerLinkCount++; }
			elseif (in_array($type, array('woff','woff2','ttf','svg','eot')) && $pushFont) 	{ $headersFont[] = '<'.$file.'>; rel='.$method_font.'; as=font'; $headerLinkCount++; }
			elseif (in_array($type, array('jpg','webp','png','bmp','gif','jpeg')) && $pushImage) {
				if ( strstr($file,'40x40') || strstr($file,'70x50') || strstr($file,'80x80') || strstr($file,'100x100') || strstr($file,'140x100') || strstr($file,'200x200.') || strstr($file,'400x400') || strstr($file,'500x500') || strstr($file,'550x550') || strstr($file,'priazha-main') ) {
					$headersImage[] = '<'.$file.'>; rel='.$method_img.'; as=image'; $headerLinkCount++;	}
				elseif ( strstr($file,'37x37') || strstr($file,'74x74') || strstr($file,'70x70') || strstr($file,'240x240') || strstr($file,'600x315') || strstr($file,'600x600') || strstr($file,'1000x1000') || strstr($file,'1100x1100') ) {
					$headersImage[] = '<'.$file.'>; rel=prefetch; as=image'; $headerLinkCount++; }
			}
		}
		}
also add some lines after:

Code: Select all

				// print header link count
					if ( $headerLinkCount < 26 ) {
							error_log(print_r($headerLinkCount . ' links in header',true));
								foreach ($matches as $match) {
									$file = $match[2];
									if ($relative) {
										if (substr($file,0,1) != '/' && substr($file,0,8) != 'https://') $file = $subDir.$file;
									} else {
										if (substr($file,0,1) != '/' && substr($file,0,8) != 'https://') $file = HTTPS_SERVER.$file;
			}
									$type = $match[3];
										if (in_array($type, array('jpg','webp','png','bmp','gif','jpeg')) && $pushImage) {
											if ( $headerLinkCount <= 26 ) {
											if ( strstr($file,'60x60') || strstr($file,'120x120') || strstr($file,'150x150') || strstr($file,'190x190') || strstr($file,'250x250') || strstr($file,'300x300') || strstr($file,'380x380') ) {
												$headersImage[] = '<'.$file.'>; rel=prefetch; as=image';
												$headerLinkCount++; }
											}
 										}
								}
							error_log(print_r($headerLinkCount . ' more links upto 26 added images 60,190,250,380 in header',true));
					} else  { error_log(print_r('Links in header initial more than 26',true));
					}

New member

Posts

Joined
Sat Feb 04, 2017 2:53 am

Post by letxobnav » Fri Jul 03, 2020 10:38 am

why not use different counters for different filetypes.
Seems you have issues with preloading the images but now you count all headers in one.

I still believe it has something to do with your nginx settings, http/2 enable yes but not able to handle (or limited to) a certain amount of multiplexed requests over the same tcp connection.

Crystal Light Centrum Taiwan
Extensions: MailQueue | SUKHR | VBoces

“Data security is paramount at [...], and we are committed to protecting the privacy of anyone who is associated with our [...]. We’ve made a lot of improvements and will continue to make them.”
When you know your life savings are gone.


User avatar
Expert Member

Posts

Joined
Fri Aug 18, 2017 4:35 pm
Location - Taiwan

Post by AndreyPopov » Fri Jul 03, 2020 4:55 pm

letxobnav wrote:
Fri Jul 03, 2020 10:38 am
why not use different counters for different filetypes.
css and js in total 5-6, some times upto 10-12.

letxobnav wrote:
Fri Jul 03, 2020 10:38 am
I still believe it has something to do with your nginx settings
what? and how? if all nginx settings handle by hoster :(

and
when desktop browser than:
header accept and work upto 40 190x190 images or 35 250x250 images

but on mobile device: not accept 30 60x60 images

New member

Posts

Joined
Sat Feb 04, 2017 2:53 am

Post by letxobnav » Fri Jul 03, 2020 5:20 pm

what mobile browser are you using?

Crystal Light Centrum Taiwan
Extensions: MailQueue | SUKHR | VBoces

“Data security is paramount at [...], and we are committed to protecting the privacy of anyone who is associated with our [...]. We’ve made a lot of improvements and will continue to make them.”
When you know your life savings are gone.


User avatar
Expert Member

Posts

Joined
Fri Aug 18, 2017 4:35 pm
Location - Taiwan

Post by AndreyPopov » Fri Jul 03, 2020 8:38 pm

letxobnav wrote:
Fri Jul 03, 2020 5:20 pm
what mobile browser are you using?
no matter

check on:
- Chrome on BlueStacks Emulator (Android)
- Chrome on Samsung A6,A5 (Android)
- Safari on iPad , iPhone 5 and 7

also check by https://developers.google.com/speed/pagespeed/insights/

New member

Posts

Joined
Sat Feb 04, 2017 2:53 am

Post by AndreyPopov » Sat Jul 04, 2020 5:02 pm

may be problem in size of header in bytes.

for example:
header accept and page work more than 30 links like https://www.priazha-shop.com/yarnart-tulip-404
https://www.priazha-shop.com/image/cach ... w.jpg.webp

but only 25 links like https://www.priazha-shop.com/alize-supe ... batik-6955
https://www.priazha-shop.com/image/cach ... w.jpg.webp


I think size of header for mobile devices limited to 4k and if links added to header more than 4k then error 503?

New member

Posts

Joined
Sat Feb 04, 2017 2:53 am

Post by AndreyPopov » Sat Jul 04, 2020 9:38 pm

may be more correctly count bytes added to header neither count number of links?

New member

Posts

Joined
Sat Feb 04, 2017 2:53 am

Post by letxobnav » Sat Jul 04, 2020 9:44 pm

I doubt it, cannot say for nginx.
You mean all links consolidated in one header or all headers added together?
If you mean the former, you could just send individual headers per asset instead of consolidate them into one.

my response headers for first load of the root which includes all font, css, js and images (preload for those in view and prefetch for those lazy loaded not yet in view).

Code: Select all

accept-ranges: none
access-control-allow-origin: *
cache-control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, max-age=0
content-encoding: br
content-length: 18026
content-type: text/html; charset=utf-8
date: Sat, 04 Jul 2020 13:32:41 GMT
expires: Sat, 04 Jul 2020 13:32:41 GMT
link: </co/catalog/view/javascript/bootstrap/fonts/glyphicons-halflings-regular.woff2>; rel=preload; as=font; crossorigin type="font/woff2",</co/catalog/view/javascript/bootstrap/fonts/glyphicons-halflings-regular.woff>; rel=preload; as=font; crossorigin type="font/woff",</co/catalog/view/javascript/bootstrap/fonts/glyphicons-halflings-regular.ttf>; rel=preload; as=font; crossorigin type="font/ttf",</co/fontawesome/webfonts/fa-brands-400.woff2>; rel=preload; as=font; crossorigin type="font/woff2",</co/fontawesome/webfonts/fa-brands-400.woff>; rel=preload; as=font; crossorigin type="font/woff",</co/fontawesome/webfonts/fa-brands-400.ttf>; rel=preload; as=font; crossorigin type="font/ttf",</co/fontawesome/webfonts/fa-solid-900.woff2>; rel=preload; as=font; crossorigin type="font/woff2",</co/fontawesome/webfonts/fa-solid-900.woff>; rel=preload; as=font; crossorigin type="font/woff",</co/fontawesome/webfonts/fa-solid-900.ttf>; rel=preload; as=font; crossorigin type="font/ttf",</co/fontawesome/webfonts/fa-regular-400.woff2>; rel=preload; as=font; crossorigin type="font/woff2",</co/fontawesome/webfonts/fa-regular-400.woff>; rel=preload; as=font; crossorigin type="font/woff",</co/fontawesome/webfonts/fa-regular-400.ttf>; rel=preload; as=font; crossorigin type="font/ttf"
link: </co/catalog/view/javascript/bootstrap/css/bootstrap.min.t1535802328.css>; rel=preload; as=style,</co/catalog/view/javascript/jquery/jquery-ui/jquery-ui.min.t1508411464.css>; rel=preload; as=style,</co/fontawesome/css/all.min.t1575097547.css>; rel=preload; as=style,</co/catalog/view/theme/default/stylesheet/btcontentslider.min.en.css?V4.0G>; rel=preload; as=style,</co/catalog/view/theme/default/style/animate.min.css>; rel=preload; as=style,</co/catalog/view/javascript/jquery/swiper/css/swiper.min.css>; rel=preload; as=style,</co/catalog/view/theme/default/style/stylesheet.min-en.t1590679381.css>; rel=preload; as=style,</co/catalog/view/theme/default/style/chosen.min.t1564472065.css>; rel=preload; as=style,</co/catalog/view/javascript/btslider/btslider.js>; rel=preload; as=script,</co/catalog/view/javascript/jquery/jquery-2.1.1.min.js>; rel=preload; as=script,</co/catalog/view/javascript/jquery/jquery-ui/jquery-ui.min.js>; rel=preload; as=script,</co/catalog/view/javascript/bootstrap/js/bootstrap.min.js>; rel=preload; as=script,</co/catalog/view/javascript/lazysizes.min.js>; rel=preload; as=script,</co/catalog/view/javascript/common.min.js>; rel=preload; as=script,</co/catalog/view/javascript/chosen.jquery.min.js>; rel=preload; as=script,</co/catalog/view/javascript/jquery/swiper/js/swiper.jquery.min.js>; rel=preload; as=script,</co/catalog/view/javascript/sac-1.min.js>; rel=preload; as=script,</co/catalog/view/javascript/scrollTop.min.js>; rel=preload; as=script,</co/image/catalog/clc-main-logo-80.jpg>; rel=preload; as=image,</co/image/ci/catalog/banner/lbl-Aquamarine-1028x350.webp>; rel=preload; as=image,</co/image/ci/catalog/banner/lbl-Aquamarine-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lbe-Clear-Quartz-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lbd-Sugilite-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lb8-Ametrine-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lbc-Citrine-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lbf-Pyrite-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lba-Rutilated-Cluster-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lbj-Celestite-Cluster-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lbb-Aquamarine-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lbm-citrine-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lbh-Morganite-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lb5-Rose-Quartz-Bracelet-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lb3-Rose-Quartz-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lbg-Garnet-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lb4-Lapis-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lbi-Cluster-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lbn-jade-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lbo-Oracle-Card-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lb2-Jasper-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lbp-Prehnite-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lb6-Sun-Stone-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lb7-Super-Seven-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lb1-Kunzite-1028x350.webp>; rel=prefetch; as=image,</co/image/ci/catalog/banner/lb9-Rutile-1028x350.webp>; rel=prefetch; as=image,</co/image/bts/d4773ab443c479cc889e22d818d01bd7-opal.jpg>; rel=preload; as=image,</co/image/bts/4ce8e340130c53c7e43b47e8a219b6c1-peridot.jpg>; rel=preload; as=image,</co/image/bts/031c344bec72abc021cec84af3cde7e5-labradorite.jpg>; rel=preload; as=image,</co/image/bts/51121aea24c9a7e2b57b524e1cb4388d-topaz.jpg>; rel=preload; as=image,</co/image/bts/59f5855f4d9e3d85706628dd523996ea-citrine.jpg>; rel=preload; as=image,</co/image/bts/135c7438ee9086925296501c2a7ccd57-aquamarine.jpg>; rel=prefetch; as=image,</co/image/bts/41ac1eb1cbfc0882fc09ad77ce5daf0f-rutilated-quartz.jpg>; rel=prefetch; as=image,</co/image/bts/fd5b8583082a5c075510e258e2b5b58b-malachite.jpg>; rel=prefetch; as=image,</co/image/bts/6c337a2d352fba6f1ac483133a17a3a1-prehnite-budda.jpg>; rel=prefetch; as=image,</co/image/bts/f11e64d88d53aa422eb33278e07c6b51-lepidolite.jpg>; rel=prefetch; as=image,</co/image/bts/8a385ccc9a438478e5e332985dc0dc30-pyramid.jpg>; rel=prefetch; as=image,</co/image/bts/a9d50fef024731b49c41b1e6e3817a7b-phantom-quartz.jpg>; rel=prefetch; as=image,</co/image/bts/11e4eae2ebf1f1cca51118d8cc04cf4f-amethyst.jpg>; rel=prefetch; as=image,</co/image/bts/340c348a09f0993d67970b0578b68c69-gypsum.jpg>; rel=prefetch; as=image,</co/image/bts/3a195e2d78e9a9086ec3c1ddd687762a-agate.jpg>; rel=prefetch; as=image,</co/image/bts/811aacea2adba761008e2d7b594d3131-obsidian.jpg>; rel=prefetch; as=image,</co/image/bts/d34ca72acc82d5c0af3cd7b9410eb6d6-sun-stone.jpg>; rel=prefetch; as=image,</co/image/bts/8b193bf2bda99ea0140a59da6854c1c6-Kunzite.jpg>; rel=prefetch; as=image,</co/image/bts/f04e21f09763a05629cefd8ef77b131b-turquoise.jpg>; rel=prefetch; as=image,</co/image/rip-200-150.svg>; rel=preload; as=image,</co/image/ci/ca/pi/80/808/8080-2-Genuine-Clear-Quartz-with-Aquamarine-Rock-Bracelet-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/81/818/8180-2-Ocean-Jasper-Bangle-Bracelet-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/80/807/8072-Genuine-AAA-Tourmaline-Bracelet-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/80/807/8077-5-AAA-Genuine-Hessonite-Garnet-Bracelet-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/80/807/8073-2-Morganite-Silver-Bracelet-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/80/803/8038-Genuine-Tourmaline-AAA-Teardrop-faceted-briolette-bracelet-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/80/806/8064-Black-Rutilated-Bracelet-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/82/824/8242-1-Morganite-Beads-Bracelet-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/83/832/8323-1-Black-Tourmaline-Rock-Rough-Bracelet-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/83/832/8322-1-Black-Tourmaline-Rock-Rough-Bracelet-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/83/832/8321-3-Malachite-Necklace-and-Tiger-Eye-Beads-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/83/832/8320-1-Turquoise-Bracelet-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/83/831/8319-6-Etched-Aquamarine--Rough-Specimen-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/83/830/8302-b-Fine-Quality-Pink-Tourmaline-Pendant-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/83/831/8311-6-Rose-Quartz-Heart-in-999-Fine-Silver-Pendant-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/83/831/8310-B-Super-Seven-Point-in-Silver-Pendant-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/83/830/8304-2-Fairy-Wand-Quartz-Point-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/11/112/1121_L1-Rhodochrosite-Teardrop-Pendant-in-Silver-200x150.webp>; rel=preload; as=image,</co/image/ci/ca/pi/82/828/8282-1-Obsidian-Pebble-Necklace-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/82/826/8260-3-Lapis-with-Gold-Bead-Bracelet-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/80/804/8042-Genuine-Tourmaline-AAA-Teardrop-faceted-briolette-bracelet-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/82/829/8298-3-Rubellite-Tourmaline-Facet-Rough-specimen-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/82/829/8297-3-Watermelon-Tourmaline-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/82/829/8294-1-Amethyst-Flower-Cluster-specimen-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/82/828/8286-5-Genuine-Rhodolite-Garnet-with-Pearl-Beads-Mala-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/82/823/8235-7-Beautiful-Lilac-kunzite-Rock-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/83/831/8312-1-Arkansas-Clear-Quartz-Point-with-Amethyst-in-Sterling-Silver-Pendant-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/81/816/8163-Fluorite-Pebble-with-Silver-Bracelet-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/82/827/8277-3-Genuine-AAAA-Golden-Rutilated-Quartz-8mm-Beads-Mala-with-Lapis-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/81/812/8122-A-Rutilated-Quartz-Cluster-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/80/800/8002-Natural-Sugilite-Bangle-Bracelet-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/81/815/8157-Smoky-Quartz-Pyramid-200x150.webp>; rel=prefetch; as=image,</co/image/ci/ca/pi/83/832/8323-1-Black-Tourmaline-Rock-Rough-Bracelet-120x90.webp>; rel=preload; as=image,</co/image/ci/ca/pi/83/832/8322-1-Black-Tourmaline-Rock-Rough-Bracelet-120x90.webp>; rel=preload; as=image,</co/image/ci/ca/pi/82/828/8282-1-Obsidian-Pebble-Necklace-120x90.webp>; rel=preload; as=image,</co/image/ci/ca/pi/82/828/8281-4-Black-Agate-Faceted-Bracelet-120x90.webp>; rel=preload; as=image,</co/image/ci/ca/pi/80/806/8064-Black-Rutilated-Bracelet-120x90.webp>; rel=preload; as=image,</co/image/ci/ca/pi/80/800/8002-Natural-Sugilite-Bangle-Bracelet-120x90.webp>; rel=preload; as=image,</co/image/weather/thunder.svg>; rel=preload; as=image
pragma: no-cache
push-policy: default
referrer-policy: no-referrer-when-downgrade
server: Apache
set-cookie: OCSESSID=ddf85f493b65cb45060fe7d449a3663c; path=/; SameSite=strict; domain=crystallight.com.tw; secure; HttpOnly
set-cookie: visit=2020-07-03; expires=Sun, 04-Jul-2021 19:21:27 GMT; Max-Age=31556926; path=/; domain=crystallight.com.tw; secure; HttpOnly
set-cookie: h2p=%7B%22ft%22%3A1%2C%22ro%22%3A1%2C%22ca%22%3A0%2C%22pr%22%3A0%2C%22se%22%3A0%2C%22sp%22%3A0%2C%22ss%22%3A0%2C%22nw%22%3A0%2C%222g%22%3A0%2C%22in%22%3A0%2C%22ot%22%3A0%7D; expires=Sun, 05-Jul-2020 13:32:41 GMT; Max-Age=86400; path=/; SameSite=strict; domain=.crystallight.com.tw; secure; HttpOnly
status: 200
strict-transport-security: max-age=63072000; includeSubdomains; preload
vary: Accept-Encoding,User-Agent
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-robots-tag: index, follow
x-xss-protection: 1; mode=block
(what I see is that my server automatically sets a push-policy header, I do not see that in your server, still could be an nginx topic or lightspeed)

Crystal Light Centrum Taiwan
Extensions: MailQueue | SUKHR | VBoces

“Data security is paramount at [...], and we are committed to protecting the privacy of anyone who is associated with our [...]. We’ve made a lot of improvements and will continue to make them.”
When you know your life savings are gone.


User avatar
Expert Member

Posts

Joined
Fri Aug 18, 2017 4:35 pm
Location - Taiwan

Post by letxobnav » Sat Jul 04, 2020 9:59 pm

besides, in my initiator it states push/other, in yours just other:
Capture.JPG

Capture.JPG (72.04 KiB) Viewed 4088 times

So I still think it is a server/lightspeed issue.

Crystal Light Centrum Taiwan
Extensions: MailQueue | SUKHR | VBoces

“Data security is paramount at [...], and we are committed to protecting the privacy of anyone who is associated with our [...]. We’ve made a lot of improvements and will continue to make them.”
When you know your life savings are gone.


User avatar
Expert Member

Posts

Joined
Fri Aug 18, 2017 4:35 pm
Location - Taiwan
Who is online

Users browsing this forum: No registered users and 13 guests