Мем про хостинги
В каждой шутке есть доля правды...
но если честно мне наплевать, заминусуют меня или нет.
В каждой шутке есть доля правды...
но если честно мне наплевать, заминусуют меня или нет.
Чем меньше веб-сайт, тем быстрее он грузится, и это неудивительно.
Удивительно то, что страница на 14 КБ может грузиться гораздо быстрее, чем страница на 15 КБ, даже на 612 мс быстрее, хотя разница между страницами на 15 КБ и 16 КБ минимальна.
Так происходит из-за алгоритма медленного старта TCP.
Что такое TCP?
Transmission Control Protocol (TCP) — это способ использования Internet Protocol (IP) для надёжной передачи пакетов данных; иногда его также называют TCP/IP.
Когда браузер запрашивает ваш веб-сайт (или изображение, или таблицу стилей), он выполняет запрос при помощи HTTP.
HTTP построен поверх TCP, один HTTP-запрос обычно состоит из множества пакетов TCP.
Сам по себе IP — это просто система отправки пакетов данных из одной точки Интернета в другую. IP не имеет возможности проверить, добрался ли пакет до пункта назначения.
Когда мы работаем с веб-сайтами, важно знать, прибыли ли все данные, в противном случае фрагменты веб-страницы будут потеряны. Существуют и другие способы применения веба, например, стриминг видео, но в данном случае это неважно.
TCP — это расширение IP, позволяющее браузеру и серверу веб-сайта сказать друг другу, какие пакеты успешно получены.
Сервер отправляет несколько пакетов, затем ожидает ответа от браузера, сообщающего, что он получил пакеты (это называется подтверждением приёма, acknowledgement, или ACK), затем отправляет ещё несколько пакетов, а если он не получил ACK, то может отправить пакеты повторно.
Что такое медленный старт TCP?
Медленный старт TCP (TCP slow start) — это алгоритм, используемый серверами для определения того, сколько пакетов можно отправить за раз.
Когда браузер выполняет подключение к серверу, сервер никак не может узнать ширину канала между ними.
Ширина канала (bandwidth) — это объём данных, который можно передать по сети за единицу времени. Обычно она измеряется в битах в секунду (бит/с). В качестве аналогии можно привести задачу про воду и трубы: ширина канала — это количество воды, которое может выливаться из трубы в секунду.
Ваш сервер не знает, с каким объёмом данных может справиться соединение, поэтому сначала он отправляет небольшое надёжное количество данных, обычно 10 пакетов TCP.
Если эти пакеты успешно добираются до посетителя сайта, то его компьютер передаёт подтверждение приёма (ACK), сообщающее об успешном получении пакетов.
Затем сервер отправляет новые данные, на этот раз удваивая количество пакетов.
Этот процесс повторяется до утери пакетов, когда сервер не получит ACK. (После этого сервер продолжает отправлять пакеты, но с меньшей частотой.)
Откуда же взялась величина 14 КБ?
Медленный старт TCP большинства веб-серверов начинает с отправки 10 пакетов TCP.
Максимальный размер пакета TCP составляет 1500 байтов.
Этот максимум определяется не спецификацией TCP, а стандартом Ethernet.
В каждом пакете TCP 40 байтов используются под заголовок — 16 байтов для IP и дополнительные 24 байта для TCP.
То есть на каждый пакет TCP остаётся 1460 байтов. 10 x 1460 = 14600 байтов, или приблизительно 14 КБ!
То есть если вы сможете уместить свой веб-сайт (или хотя бы его критически важные части) в 14 КБ, то сэкономите посетителям кучу времени, необходимого для передачи данных туда и обратно между ними и сервером веб-сайта.
А вы знали про правило 14 КБ?
Всем добрый день. Может, кто подскажет что происходит и как выйти из ситуации.
Ряд сайтов через определенных интернет провайдеров не открываются. "Сайт не безопасен". И указывается ошибка не правильная дата. Я немного удивился, когда мне сегодня сказали, - " а ты чё, не в курсе?"
Причем через других провайдеров работает нормально.
специально увел два сайта на другой хостинг, ситуация аналогична. Т.е. проблема не на стороне хостинг провайдера, а у интернет провайдера
Так... В общем, насколько моего понимания хватает, вкратце это разница между REST и JSON RPC.
Первый по-максимуму использует методы и коды ответа протокола HTTP в том числе для передачи информации логики API.
Второй чётко отделяет слой HTTP и слой логики API. HTTP только чтобы передать запрос-ответ. Инфа про запрос, в том числе тип операции - только в теле запроса. Инфа про ответ, в том числе код результата выполнения операции - только в теле ответа.
И то, и другое - валидные протоколы API, более или менее подходящие под разные задачи. Главное не натягивать мухи на котлеты.
Всё, зануда мод пошёл отдыхать.
… или когда не знаешь зачем нужны коды состояния HTTP
БМ нашел кусочек с "зеленой картинкой"
Комментарии к посту - Взгляд со всех сторон
@ayobukhov, @KoshkaSUsami, вы в телевизоре
Мы постарались сделать каждый город, с которого начинается еженедельный заед в нашей новой игре, по-настоящему уникальным. Оценить можно на странице совместной игры Torero и Пикабу.
Реклама АО «Кордиант», ИНН 7601001509