|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.11.2012, 15:46 | #1 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
gzip в браузерах
Привет, народ.
Тут вычитал что современные браузеры поддерживают сжатий gzip контент для ускорения передачи данных. Насколько это правда, и как тогда я смогу использовать эту возможность для передачи сжатого от моего сервера к браузеру? Предположим я сжал в своем сервере gzip модулем контент и передаю браузеру, как указать ему что это сжатый контент, и его нужно еще распаковать? В JS есть средства для этого или сами браузеры расчехляются, как только получают сжатый контент?
I'm learning to live...
|
23.11.2012, 16:43 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ага, т.е. есть шанс таким образом сжимать данные, передаваемые через AJAX с соответствующим НТТР хедером и браузер сам распознает необходимость разжатия.
Это хорошо, это можно использовать для передачи больших словарей в начале сессии.
I'm learning to live...
|
23.11.2012, 17:31 | #4 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Чтобы клиент узнал что вы ему gzip заслали, надо в шапку от сервера вставить:
Content-Encoding: gzip и запаковать этим алгоритмом данные. Чтобы серверу знать, узнает ли клиент gzip или нет, в шапке клиента должно быть: Accept-Encoding: gzip, deflate |
23.11.2012, 17:45 | #5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Понял. Попробую, и подумаю где это стоит применить в проекте, а где нет.
За ответы спасибо
I'm learning to live...
|
23.11.2012, 21:16 | #6 | ||
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
Просто говорите серверу, что способны разжать gzip, и от этого отталкиваетесь, и получаете куда меньший входящий/исходящий(если сами пакуете) трафик. Цитата:
|
||
23.11.2012, 21:27 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Не, тут надо подумать. Если передаваемый контент маленький то и сжимать его не нужно - от сжатия маленького контента я кстати только потеряю в трафике. Другое дело - мне в одном из случаек корче треба передать огромный (от 1000 до 10000) строк справочник клиенту, который будет активен в процессе всего сеанса. Вот его стоит жать, и нагрузка на сервер будет не так частая, потому как предполагается что сеанс не будет прерываться весь рабочий день.
I'm learning to live...
|
|
23.11.2012, 22:38 | #8 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
С этим согласен, но можно же по умному сделать. Записать эдакий "разум" в код. Чтобы по размеру данных(не сжатых) определять минимум когда уже требуется сжатие дабы уменьшить объем трафика ну на 20%(с потолка).... при меньших размерах не сжатой инфы, сжатие станет проблемой
Кароче, тупо найти тот самый минимум при котором уже нужно сжатие "без потерь с обеих сторон". Последний раз редактировалось Человек_Борща; 23.11.2012 в 23:26. |
23.11.2012, 23:16 | #9 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Хм... Идея заслуживает внимания. Плюс к этому мне не обязательно сжимать 9-м уровнем же... Это ведь текст.
А браузер сам догадается какой уровень сжатия используется? Параметр deflate за что отвечает если не секрет?
I'm learning to live...
|
23.11.2012, 23:32 | #10 | ||
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
Определяет размер данных необходимых для достижения потери n% в весе нормального трафика. Блок текста в 512 байт сжимается в 26 байт и таким образом уровень сжатия 94% Deflate - можно прировнять к GZIP. Думаю это аппендикс, для старья т.к. gzip в себе содержит реализацию deflate. Цитата:
Winrar у вас не спрашивает, с каким уровнем был сжат архив X =). А Accept-encoding клиент говорит серверу, о каких методах возможного кодирования приходящего трафика знает клиент и соответственно сможет правильно декодировать его. Я обычно указываю только GZIP. Сейчас дописываю свой навес над THTTPSend, как раз туда эту идею в самый раз.... Последний раз редактировалось Человек_Борща; 23.11.2012 в 23:39. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка GZIP | denis76560 | Работа с сетью в Delphi | 2 | 17.10.2012 18:33 |
Неправильное магическое число в заголовке GZip. Передача должна идти в поток GZip. | MyXa | C# (си шарп) | 0 | 19.08.2012 10:20 |
HTTP и Gzip | Slafka | C/C++ Сетевое программирование | 3 | 18.10.2011 20:30 |
Gzip в Delphi | sivuda | Работа с сетью в Delphi | 1 | 22.08.2010 19:55 |
Разжать GZIP | CoDeR | Общие вопросы Delphi | 3 | 23.06.2009 00:20 |