Маршрут для обслуживания статических активов (как .jpgs, и т.д.?)

Многие люди опубликовали свои ответы. но я все равно хочу опубликовать свои усилия;) это мой код:

def containedin(a,b):
    for j in range(len(b)-len(a)+1):
        if a==b[j:j+len(a)]:
            return True
    return False

print(containedin([2, 3, 4],[1, 2, 3, 4, 5]))
print(containedin([2, 3, 4],[1, 1, 2, 2, 3, 3, 4, 4, 5, 5]))
print(containedin([2, 3, 4],[5, 4, 3, 2, 1]))
print(containedin([2, 2, 2],[1, 2, 3, 4, 5]))
print(containedin([2, 2, 2],[1, 1, 1, 2, 2, 2, 3, 3, 3]))

это вывод: True False False False True

14
задан Flimzy 27 March 2019 в 13:04
поделиться

4 ответа

Если Вы помещаете каталог "изображений" в "общедоступную" папку приложения для направляющих (например:/public/images/) затем у Вас не должно быть проблем с типами MIME, если Ваш веб-сервер не настроен неправильно.

Согласно Вашим примерам, Вы хотите dir изображений в корне приложения. Я не думаю, что существует путь, хотя направляющие для создания тех изображений видимыми, но если Вы действительно хотели Вам, могли бы использовать mod_rewrite, чтобы заставить его работать. Еще раз это было бы до веб-сервера, чтобы удостовериться, что изображения имели корректный тип MIME.

16
ответ дан 1 December 2019 в 09:02
поделиться

Вещи, которые подаются из общедоступного каталога, не пройдут направляющие - они будут просто обработаны Вашим сервером (вероятно, апач). Единственная причина, почему необходимо было бы вручить изображения через систему направляющих, состоит в том, если Вы хотели некоторое управление на том, кто мог бы получить доступ к ним. Просто поместите все остальное на публике и крыло доступа: siteurl.whatever/images/*.jpg

6
ответ дан 1 December 2019 в 09:02
поделиться

Я обычно использую nginx в качестве frontend и Apache/пассажира как бэкенд. Ngingx проксирует все запросы направляющих к Apache, но обрабатывает все статическое содержание само. Проверьте примеры на английский nginx wiki. Вот маленькая выборка для конфигурации nginx:

server {
    listen 80;
    server_name www.domain.com;
    location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|js)$ {
        root   /path/to/static/assets/dir;
    }
    location / {
        proxy_pass http://127.0.0.1:81;
    }
}

Так имеют апача, слушают на порте 81, чтобы обработать запросы направляющих, проксированные nginx и позволить nginx поставить статическое содержание. Не только nginx, предположительно, быстрее, чем Apache при поставке статического содержания, но это также разгружает Ваше приложение направляющих для каждого изображения, таблицы стилей, JavaScript или безотносительно другого статического содержания.

5
ответ дан 1 December 2019 в 09:02
поделиться

Протест: если Ваш URL запроса соответствует статическому ресурсу WEBrick, полукровка или независимо от того, что будет счастливо служить ему. Любой ценой Вы не хотите это в производстве: если Ваш трафик будет достаточно интенсивен, то Ваше приложение будет поставлено на колени просто, потому что его полукровки будут заняты, служа статическому содержанию.

Так удостоверяются, что Ваш веб-сервер правильно настроен для всех видов статического содержания, как указали предыдущие комментаторы.

1
ответ дан 1 December 2019 в 09:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: