Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Серверы Google

IT-компании
Вот список имён серверов Google, использующихся для различных сервисов компании, которые вернулись в HTTP-заголовках. Не всем серверам присвоены очевидные имена, а некоторые из них могут даже показать на интересные данные (например, ctcserver используется для ещё не запущенного сервиса Google Call, на который ссылается robots.txt). Google Web Server — это изменённая версия обычного сервера Apache, запущенного на Linux.
Таблица серверов Google
Всего голосов 33: ↑30 и ↓3 +27
Просмотры13K
Комментарии 5

Какие бывают META теги и зачем они нужны

Разработка веб-сайтов

META-теги


В продолжении первого поста про DOCTYPE, я, как и обещал, продолжу про META теги. 
META-теги — это необязательные атрибуты, размещенные в заголовке страницы, которые могут содержать ее описание, ключевые слова к ней, информацию об авторе, управляющие команды для броузера и поисковых роботов, и прочую служебную информацию, не предназначенную для посетителей.
 

META-теги имеют два возможных атрибута


— <META HTTP-EQUIV="имя" CONTENT="содержимое">
— <META NAME="имя" CONTENT="содержимое">
META-теги должны находиться в заголовке HTML-документа между <HEAD> и </HEAD> (особенно это важно для документов, использующих фреймы).

Стандартом HTML 4.01 значения и имена мета-тегов НЕ оговариваются, поэтому мы будем рассматривать те значения, которые уже устоялись в интернете и используются чаще других.
подробнее о META тегах
Всего голосов 118: ↑89 и ↓29 +60
Просмотры228.3K
Комментарии 47

Убираем ненужные http-заголовки из ASP.NET

.NET
Перевод
В связи с последними инициативами Гугла, размер веб-страницы и скорость ее загрузки стали вновь актуальны. Скорость загрузки контента становится одним из критериев ранжирования результатов поиска. О GZip и Deflate сжатии написано уже много, о серверном кешировании — тоже. Поговорим о заголовках.

Итак, ваше ASP.NET-приложение, помимо прочих, шлет на клиент следующие заголовки (значения могут варьироваться):
  • Server: Microsoft-IIS/6.0
  • X-Powered-By: ASP.NET
  • X-AspNet-Version: 2.0.50727
  • (опционально) X-AspNetMvc-Version: 1.0

Убрав эти header'ы мы «облегчим» траффик всего на какие-то 100 байт для каждого запроса, но, во-первых, следует помнить, что эти 100 байт, будучи умноженными на десятки тысяч запросов к вашему серверу, сыграют ощутимую роль. Во-вторых, отсуствие header'ов усложнит жизнь злоумышленникам, которые будут лишены информации о версии вашего сервера, версии ASP.NET и о платформе вообще.

Теперь к делу.
Читать дальше →
Всего голосов 26: ↑15 и ↓11 +4
Просмотры9.6K
Комментарии 12

Мобильник HTC Desire может сообщать о себе, что он Macintosh — и сообщает…

Смартфоны
Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил, что он у себя в постели превратился в страшное насекомое

Сегодня утром я наконец набрёл на мысль зайти на сайт whatsmyuseragent.com со своего мобильного телефона HTC Desire, чтобы выяснить, какой же у его браузера идентификатор «user-agent». Приведя эту мысль в исполнение, я совершенно неожиданно увидал перед собою на экране вот какую строчку:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Safari/530.17

Ошеломлённый, я застыл в изумлении почти на минуту, покуда не припомнил, что в настройках у браузера есть функция «Mobile View» (с подзаголовком «Enable mobile versions of web pages»). Эту функцию я отключил (и довольно давно), так как мобильные версии многих сайтов гораздо менее функциональны, чем предназначенные для настольных компьютеров. На время включив её, я обновил страницу и получил строку, куда ближе отражающую реальность:

Mozilla/5.0 (Linux; U; Android 2.2; en-ru; Desire_A8181 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

Кажется, это повод крепко призадуматься.

Не только сообщение о мобильности и указание «Android», но и многие прочие характеристики (операционная система, упоминаемый при ней язык, даже версия браузера) всецело переменяются после того, как отключишь режим мобильного просмотра — а меж тем отключение это бывает необычайно удобно и даже подчас необходимо. Чем больше по миру распространяются мобильники HTC (а также те другие мобильники под Android, браузеры в которых построены по этому же алгоритму), тем менее сможем все мы доверять данным статистики, собираемой по заголовкам HTTP-запросов.
Всего голосов 40: ↑18 и ↓22 -4
Просмотры292
Комментарии 9

Как отобразить страницу в UTF-8, несмотря на windows-1251 в HTTP-заголовке

JavaScript
Есть у меня старый сайт на Народ.Ру, и недавно я закинул туда несколько статей — как это я теперь делаю в UTF-8. Кодировка была указана в теге meta, но, взглянув на страницы, я увидел крякозябры: «Р§С‚Рѕ-то случилось.» Оказывается, Народ.Ру шлёт HTTP-заголовок Content-Type: text/html; charset=windows-1251 и это на нём никак не отключается. Пользователь может получить читабельный текст — только если догадается вручную переключить кодировку в браузере.

Что делать? Переходить на другой хостинг? Само собой, но пока руки не дошли, хотелось добиться результата тут. Перекодировать тексты? Более достойным и интересным показалось поставить Javascript-«заплатку».

Способа переключить кодировку из Javascript я не нашёл. Остался вариант перекодировать текст скриптом, запускаемым по событию onready документа.

Итак, браузер получает текст в UTF-8, разбивает UTF-последовательности на группы по 8 бит и трактует их как коды символов в кодировке Windows-1251. Чтобы восстановить читаемость текста, нужно получить эти коды, объединить их в UTF-последовательности, а из них — восстановить Unicode-коды символов и вернуть последние посредством числовых ссылок HTML на символы. В этом деле обнаружились несколько закавык.

Читать дальше →
Всего голосов 24: ↑11 и ↓13 -2
Просмотры18.9K
Комментарии 25

Интеграция JavaScript cookies в CURL-запросы

PHP
Из песочницы
В этой статье я расскажу об одной необычной проблеме, с которой мне однажды пришлось столкнуться по роду своей деятельности. Внимание: эта статья не для начинающих. Предполагается, что читатель уже имеет опыт веб-программирования и знаком с языком PHP, библиотекой CURL и основами HTTP.

Перейдем к описанию проблемы.
Мне нужно было написать скрипт бота для одного сайта с целью автоматизации некоторого процесса из нескольких шагов, не считая авторизации.
Читать дальше →
Всего голосов 51: ↑40 и ↓11 +29
Просмотры22.3K
Комментарии 68

Передача параметров в HTTP-заголовке через запятую для Apache CXF

Java

Предистория:


Согласно RFC-2616, HTTP header можно передавать кучей разных способов.
Мы использовали вариант КЛЮЧ = <ЗНАЧЕНИЕ-1>,<ЗНАЧЕНИЕ-2>,...,<ЗНАЧЕНИЕ-N>
Библиотека Apache CXF до версии 2.5.8 (включительно) обрабатывала такую ситуацию корректно.

Проблема:


С версии 2.5.9 Apache CXF втихаря «улучшились» и допустимыми признают только КЛЮЧ = <ЗНАЧЕНИЕ>
Ни в документации, ни на форуме апача нет ответа на вопрос:

Как разрешить Apache CXF принимать параметры заголовка HTTP-запроса (HTTP header) через запятую?

Исследование исходных кодов библиотеки указало на решение проблемы.

Решение:


В конфиге beans.xml надо добавить:

<jaxrs:properties>
     <!-- enable comma separated HTTP header values. Example" "X-ListID: 0,100,13,25,16" -->
     <entry key="org.apache.cxf.http.header.split" value="true" />
</jaxrs:properties>
Всего голосов 24: ↑18 и ↓6 +12
Просмотры5.2K
Комментарии 0

Ненужные HTTP-заголовки

Разработка веб-сайтовСерверная оптимизация
Перевод
Заголовки HTTP важны для контроля, как кэш и браузеры обрабатывают ваш контент. Но многие из них используются неправильно или бессмысленно, затрачивая лишние ресурсы в критический момент загрузки страницы, и они могут работать не так, как вы думаете. В серии статей о лучших практиках сначала рассмотрим ненужные заголовки.

Большинство разработчиков знают о важных и нужных HTTP-заголовках. Самые известные — Content-Type и Content-Length, это почти универсальные хедеры. Но в последнее время для повышения безопасности начали использоваться заголовки вроде Content-Security-Policy и Strict-Transport-Security, а для повышения производительности — Link rel=preload. Несмотря на широкую поддержку в браузерах, лишь немногие их используют.

В то же время есть много чрезвычайно популярных заголовков, которые вообще не новые и не очень полезные. Мы можем это доказать с помощью HTTP Archive, проекта под управлением Google и спонсируемого Fastly, который каждый месяц при помощи WebPageTest скачивает 500 000 сайтов и выкладывает результаты в BigQuery.
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Просмотры31.4K
Комментарии 11

Нужные HTTP-заголовки

Информационная безопасностьСерверная оптимизация
Перевод
Наши клиенты в Fastly любят манипулировать заголовками HTTP. Подбор правильной комбинации заголовков — одна из лучших вещей, какую вы можете сделать для безопасности своего сайта и значительного вклада в его производительность.

Большинство разработчиков знают о важных и нужных HTTP-заголовках. Самые известные — Content-Type и Content-Length, это почти универсальные хедеры. Но в последнее время для повышения безопасности начали использоваться заголовки вроде Content-Security-Policy и Strict-Transport-Security, а для повышения производительности — Link rel=preload. Несмотря на широкую поддержку в браузерах, лишь немногие их используют.

В предыдущей статье мы рассмотрели ненужные заголовки. Сейчас разберёмся, какие заголовки действительно следует настроить для своего сайта.
Читать дальше →
Всего голосов 29: ↑29 и ↓0 +29
Просмотры32K
Комментарии 5

HTTP-заголовки для ответственного разработчика

Mail.ru GroupВысокая производительностьРазработка веб-сайтовКлиентская оптимизацияHTML
Перевод

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

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

Разработчики могут создать сеть для всех, но эту способность необходимо использовать ответственно. В конце концов, важно создавать вещи, которые помогают людям и расширяют их возможности. В этой статье я хочу рассказать о том, как HTTP-заголовки могут помочь вам создавать лучшие продукты для лучшей работы всех пользователей в интернете.
Читать дальше →
Всего голосов 92: ↑90 и ↓2 +88
Просмотры63.6K
Комментарии 64

Безопасность через ограничение пользователей или как создать уязвимость

Информационная безопасностьСетевые технологииIT-стандарты
🔥 Технотекст 2020
В 2019 году выявили уязвимость CPDoS Cache Poisoned Denial of Service) на сети CDN, которая позволяет отравить HTTP кэш CDN провайдера и вызвать отказ в обслуживании. Много хайпа уязвимость пока не собрала, так как не была замечена в реальных атаках. Но об одном из способов отравления кэша хочется поговорить отдельно. HTTP Method Override.


Если другие варианты эксплуатации уязвимости так или иначе опираются на баги или особенности модификации запросов посредником, то в основе варианта Method Override лежит одноименная тактика, которая не является частью стандарта HTTP, несет вместе с собой дополнительные проблемы, и которая возникла и распространилась из-за небрежного отношения к безопасности. Вот ее мы и рассмотрим.
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры3.2K
Комментарии 2

Неожиданные HTTP-заголовки

WordPressРазработка веб-сайтовСетевые технологииСерверное администрированиеСтандарты связи
Перевод
Пару дней назад я ковырялся в блоге Creditkarma и заметил такой HTTP-заголовок:

X-hacker: If you're reading this, you should visit wpvip.com/careers and apply to join the fun, mention this header.

(X-hacker: если вы это читаете, то вам следует зайти на wpvip.com/careers и подать заявку, чтобы присоединиться к веселью, упомяните этот заголовок).

Первой мыслью было: «Ничего себе, когда-то программисты ввели баг тысячелетия, чтобы сэкономить несколько бит на дате, и теперь у компании публикуют целые предложения о работе в заголовке HTTP!»

Мне стало очень интересно, и я провёл некоторые исследования.
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Просмотры14.1K
Комментарии 10

Сервис проверки HTTP-заголовков сервера

ITSOFTХостингРазработка веб-сайтовСерверная оптимизацияСерверное администрирование
Для любого сайта важно правильно настроить HTTP-заголовки. На тему заголовков было написано много статей. Здесь мы обобщили накопленный опыт, документацию RFC. Какие-то из заголовков обязательные, какие-то устаревшие, какие-то могут вносить путаницу и противоречия. Мы сделали пузомерку для автоматической проверки HTTP-заголовков веб-сервера. В отличии от многих других сервисов, которые просто показывают заголовки, данный сервис позволяет:

  1. задать значение типовых заголовков;
  2. добавить свои произвольные заголовки;
  3. указать версию HTTP-протокола: 1.0, 1.1, 2 (проверяет поддерживается ли HTTP/2);
  4. указать метод запроса, время ожидания и данные postdata для отправки на сервер;
  5. также пузомерка проверяет корректность ответа на запросы If-Modified-Since, If-None-Match, если в ответе сервера есть Last-Modified или ETag.
Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Просмотры5.8K
Комментарии 25

HTTP headers checker

ХостингРазработка веб-сайтовСерверная оптимизацияСерверное администрирование
Перевод
For any site, it is important to properly configure the HTTP headers. A lot of articles have been written on the subject of headings. Here we have summarized the lessons learned, the RFC documentation. Some of the headings are mandatory, some are obsolete, some can be confusing and contradictory. We did a parsing to automatically check the HTTP headers of the web server.

Correct HTTP headers increase security and trust in the site, including from search engines, can affect the site’s position in Yandex and Google, save server resources, reduce server load, thereby increasing the server response speed, which again affects the ranking of the site in the search, save money on payment powerful hosting, which may not be required for the site when configured correctly.
Read more →
Рейтинг 0
Просмотры1.3K
Комментарии 2