Настройки Proxy

 

Основная функция Charles - служить прокси-сервером.

Порты

Прокси-сервер использует два порта: для HTTP и для SOCKS. Обычно они выбираются автоматически, однако пользователь может указать их вручную, если выбранные порты заняты.

Динамический порт прокси позволяет автоматически определять подходящий порт при каждом запуске. Это полезно, когда в системе работают несколько пользователей.

Декриптинг SSL

По умолчанию данная функция включена, но вы можете отключить её в любой момент. Тогда Charles не будет затрагивать SSL-соединения и вы будете получать зашифрованные данные.

Автоматическая настройка браузера

Программа имеет собственный список браузеов и операционных систем, для которых она способна провести автоматическую настройку. Это весьма полезно, но вам также, возможно, придётся настраивать или перенастраивать прокси-соединение.

Вы можете отключить автоматическую настройку при запуске. Сделать это можно в меню "Прокси".

Игнорирование доменов

Данная функция представляет собой список серверов, который будут игнорироваться при использовании прокси. Список сохраняется в браузере и ОС. Лучше оставить его пустым, но при необходимости вы можете добавить ряд адресов, для которых прокси будет отключён.

Прозрачный SOCKS-прокси

Прозрачный SOCKS-прокси был добавлен в Charles 3.1. Прочитайте о причинах добавления в приложениях.

Откройте меню "Настройка Прокси" в разделе "Прокси". Самый простой способ открыть настройки SOCKS - это щёлкнуть по пункту " SOCKS Proxy Mode" ("режим SOCKS-прокси") на панели быстрого доступа. После этого ваш браузер будет использовать SOCKS вместо HTTP.

Практически невозможно предугадать все ситуации. Самый простой способ - зайти на http://maps.google.com/ и увеличить карту для просмотра. Щёлкните на HTML страницу в настройках Charles и переключите в режим графика. После этого вы сможете увидеть количество запросов на загрузку изображений. Сравните SOCKS и HTTP.

HTTP vs. SOCKS

Начиная с версии Charles 3.1 традиционно используется режим HTTP-прокси, хотя так же доступен и SOCKS. Однако есть некоторые проблемы с производительностью, возникающие при использовании HTTP-прокси, поэтому можно заметить разницу в работе браузера с Charles и без.

Обратите внимание, что SOCKS прокси не используется по умолчанию, хотя такая возможность предусмотрена.

Браузер ограничивает количество соединений, которые он открывает для веб-сервера, чтобы избежать перегрузки. По спецификации HTTP/1.1 браузер должен ограничивать количество соединений до двух. В HTTP/1.0 эти показатели для разных браузеров могут отличаться.

Это ограничение может вызвать проблемы с загрузкой веб-сайтов, так как только 2 файла (страницы / изображения / CSS / JavaScript и т.д.) могут быть загружены одновременно. Чтобы обойти эту проблему, разработчики распределяют нагрузку между разными серверами. Например, http://maps.google.com/ загружает карты через mt3.google.com. То есть доступны 4 разных сервера, так что, хотя они могут на самом деле все работать через один и тот же IP-адрес и находиться на одном физическом сервере, браузер обращается с ними как с разными веб-сайтами, и для каждого разрешено 2 соединения. Это означает, что он может загрузить 8 частей карт в вид отдельных изображений одновременно вместо обычных 2.

Когда браузеры используют HTTP-прокси (такие, как Charles в HTTP-прокси режиме) они накладывают различные ограничения, а также ограничения на общее число подключений к прокси-серверу, таким образом, изменяется производительность при работе с веб-сайтами. Это плохо для пользователей, Charles стремится снизить влияние на производительность браузера до минимума.

И наоборот, когда браузеры используют прокси-сервера SOCKS прокси не учитывается и не попадают под ограничения, так что производительность не меняется.

Поэтому Charles теперь поддерживает использование SOCKS-прокси протокола, так же как HTTP прокси.