---
title: "Снимки на автомобили в голям мащаб: защо директните връзки към галериите от търгове се чупят"
description: "Обявите от търгове имат по 20–60 снимки. Защо адресите от източника изтичат, какво прави защитата срещу hotlink и какво трябва да предлага архивът със снимки."
slug: vehicle-image-cdn-api
canonical: https://thecarapi.com/bg/blog/vehicle-image-cdn-api
category: Инженерство на данни
author: Инженерен екип на Авто Данни
published: 2026-06-22
updated: 2026-08-07
tags: [снимки, CDN, WebP, производителност]
---

# Снимки на автомобили в голям мащаб: защо директните връзки към галериите от търгове се чупят

Снимките са най-голямата, най-скъпата и най-крехката част от автомобилните данни — и частта, която екипите откриват късно, обикновено като решетка с обяви, пълна със счупени миниатюри.

Една обява от търг на едро има между двадесет и шестдесет снимки. При милион активни автомобила това са десетки милиони изображения — и за разлика от полетата със спецификации, потребителите наистина ги гледат. Решетка с обяви, в която една трета от миниатюрите са счупени, изглежда като счупен продукт, независимо колко добри са данните отдолу.

Наивният подход е да пазите адреса на снимката от източника заедно с обявата и да оставите браузъра да я изтегли. В разработка работи. Ето защо не оцелява.

## Четири причини директните връзки да се провалят

### 1. Адресите от източника изтичат

Това е фаталната. Платформите за търгове често спират да сервират медия за затворени лотове — понякога до дни, понякога след седмици и рядко с някакво обявление. Активните обяви изглеждат наред. Историческият ви архив тихо гние от най-старата страна и докато някой забележи, месеци галерии са изчезнали без начин да бъдат възстановени.

### 2. Защита срещу hotlink

Много източници проверяват заглавката `Referer` или изискват валидна бисквитка на сесия. Начинът, по който това се проваля, е наистина неприятен: снимките се зареждат при вас (наскоро сте посетили източника), не се зареждат при потребителите ви и се държат различно в различните браузъри според политиката за referrer. Изглежда като периодичен бъг и често се диагностицира погрешно със седмици.

### 3. Размери на файловете за друга употреба

Галериите от източниците са JPEG в пълна резолюция, обикновено по 2–6 MB. Зареждането на решетка с двадесет и четири карти по една миниатюра означава изтегляне на около 60 MB, за да се покаже страница, която се нуждае от около 400 KB снимки. На мобилно устройство това не е бавно — неизползваемо е.

### 4. Нямате контрол върху наличността

Възприеманата бързина на продукта ви става функция на няколко чужди CDN, с които нямате отношения, нямате SLA и нямате контрол върху кеша. Една бавна сутрин при източник става ваш инцидент.

> **Провалът е тих и закъснял** — Всеки от тези проблеми е невидим по време на разработка и през първите седмици в продукция. Те излизат заедно, по-късно, като „сайтът изглежда счупен“ — затова стратегията за снимките принадлежи на първоначалната архитектура, а не на следваща задача.

## Какво трябва да прави архивът със снимки

Копирането на снимки е лесната част. Ето свойствата, които определят дали копието си струва разходите за съхранение:

1. **Копирайте при импортиране, не при поискване.** Мързеливото копиране означава, че първият потребител, който отвори стар лот, предизвиква изтегляне от адрес, който може вече да не работи. Копирайте при първата поява на обявата, докато източникът още я сервира.
2. **Прекодирайте.** WebP с разумно качество обикновено намалява значително размера спрямо оригиналния JPEG без видима разлика в решетката с обяви.
3. **Сервирайте няколко размера.** Решетка с миниатюри и галерия на цял екран имат напълно различни изисквания и една снимка за двете хаби или трафик, или детайл.
4. **Стабилни адреси, които надживяват лота.** Това е целият смисъл. Ако сервираният адрес се счупи при затварянето на търга, сте изградили скъп кеш, а не архив.
5. **Пазете реда и ролята.** Коя снимка е основна, към коя част на автомобила принадлежи всяка, екстериор срещу интериор срещу детайли на щетите. Галериите в произволен ред са осезаемо по-неудобни.
6. **Записвайте размерите.** Без ширина и височина в данните всяка снимка предизвиква разместване на страницата при зареждане, което е проблем и за потребителите, и наказание в Core Web Vitals.

```bash
curl -s "https://api.thecarapi.com/api/auction-images/encar/38112900" \
  -H "X-API-Key: $API_KEY"
```

_Галериите се адресират със същата двойка `site/auction_id` като детайлите и историята на цените и връщат `served_url` заедно с реда, секцията и размерите._

## Ефективно използване на галериите

Два модела, които обясняват по-голямата част от практическата разлика в бързината на страниците.

### Не извличайте галерии при търсене

Резултатите от търсенето се нуждаят от по една миниатюра на карта. Пълни галерии за двадесет и четири резултата са голям отговор с данни за снимки, които потребителят почти сигурно никога няма да отвори. Използвайте миниатюрата в картата и извличайте галерията едва когато се отвори изгледът с детайли.

```javascript
// Карта в търсенето — само миниатюра, от отговора на търсенето
<img
  src={listing.thumbnail_url}
  alt={`${listing.registration_year} ${listing.clean_make} ${listing.clean_model}`}
  width={400}
  height={300}
  loading="lazy"
/>

// Изглед с детайли — галерията се извлича при отваряне, първата снимка веднага
const images = await fetch(
  `${API}/api/auction-images/${site}/${id}`,
  { headers: { 'X-API-Key': key } }
).then(r => r.json());
```

### Пишете истински alt текст

Снимките на автомобили имат необичайно предимство тук: разполагате със структурирани данни, които описват точно какво има на снимката. `alt="2021 Kia Niro, екстериор отпред в три четвърти"` не струва нищо за генериране, наистина помага на потребителите с екранни четци и е едно от малкото места, където достъпността и SEO за снимки сочат точно в една посока. Празни alt атрибути на страница, чието цялото съдържание са автомобили, са пропилян сигнал.

> **Размерите предотвратяват разместването** — Ако API връща ширина и височина, задайте ги на елемента. Запазеното място означава, че решетката не подскача при зареждане на снимките — най-евтиното подобрение за страница с много снимки, което се измерва директно от Cumulative Layout Shift.

## Сметката за съхранението

Струва си да се направи изрично, защото интуицията обикновено греши и в двете посоки.

|  | Оригинален JPEG | WebP, прекодиран |
| --- | --- | --- |
| Средна снимка | ~2,5 MB | ~150 KB |
| Една обява (30 снимки) | ~75 MB | ~4,5 MB |
| 1 млн. активни обяви | **~75 TB** | **~4,5 TB** |

_Ориентировъчни стойности — реалните съотношения зависят от качеството на източника и настройките на кодирането._

Съхранението на няколко терабайта е евтино. Разходите, които наистина болят, са другаде: трафикът през резидентни проксита за изтегляне на оригиналите и изходящият трафик от CDN за сервирането им след това — който расте с трафика ви, а не с каталога, и затова е сметката, която расте точно когато нещата вървят добре. [Разбивката на разходите за скрейпване](/blog/scraping-car-auction-sites-vs-api) поставя двата реда в контекст.

## Накратко за правата

Снимките в обявите са обекти на авторско право и позицията за повторното им хостване е наистина различна от позицията за извличане на фактически характеристики. Това не е правен съвет и отговорът варира по юрисдикции и по условията, при които работите — но това е реално съображение и една от съществените разлики между самостоятелното събиране на снимки и получаването им от доставчик с търговски отношения с източниците.

За по-пълна картина какво съдържат данните от търговете и как да ги използвате, започнете с [ръководството за данни от търгове](/blog/car-auction-api-guide) или вижте [ендпойнтите за снимки в справочника](/docs/auctions).

## Frequently asked questions

### Защо снимките от обявите на търгове се чупят след няколко седмици?

Платформите източници често спират да сервират медия за затворени лотове, обикновено до дни или седмици след края на търга. Активните обяви продължават да работят, така че проблемът първоначално е невидим и се проявява като разпадане на историческите галерии от най-старата страна — без начин да възстановите снимки, които не сте копирали, докато източникът още ги е сервирал.

### Мога ли просто да слагам директни връзки към снимките от търговете?

Само ако никога не ви се налага да показвате обява след затварянето ѝ. Директните връзки се сблъскват и със защита срещу hotlink, която проверява referrer на заявката — което предизвиква периодични откази, приличащи на бъг в браузъра — и сервират оригинали от по няколко мегабайта на мобилни потребители. За всичко с исторически изглед снимките трябва да се копират при импортиране.

### Колко място заемат снимките на автомобили?

Около 4–5 TB за милион обяви с по тридесет снимки след прекодиране в WebP, срещу около 75 TB за оригиналните JPEG. Самото съхранение е евтино; скъпите редове са трафикът за изтегляне на оригиналите през резидентни проксита и изходящият трафик от CDN за сервирането им — последният расте с трафика ви, а не с размера на каталога.

### Какво трябва да казва alt текстът на снимка на автомобил?

Опишете автомобила и ракурса: „2021 Kia Niro, екстериор отпред в три четвърти“. Вече имате структурирани данни за марка, модел и година, така че това може да се генерира автоматично. Това е един от малкото случаи, в които изискването за достъпност и възможността за SEO на снимки се покриват от точно един и същ текст.

### Трябва ли резултатите от търсенето да включват пълни галерии?

Не. Картите в търсенето се нуждаят от по една миниатюра; връщането на тридесет записа за снимки на резултат умножава размера на отговора с данни, които потребителят почти сигурно никога няма да отвори. Използвайте миниатюрата от търсенето и извличайте галерията при поискване, когато се отвори изгледът с детайли.
