Вопрос по работе HTTP протокола

MiksIr

miksir@home:~$
То есть если сервер в своём ответе не указал что разрывает соединение, то он соединение не закрыл?
Точно. Или клиент - он в запросе тоже может сказать Connection:closed, т.е. что не хочет постоянное соединение, тогда сервер обязат следовать его указаниям, ответить так же Connection:closed и закрыть соединение после ответа.
 

MiksIr

miksir@home:~$
Ну вообще pipelining задисаблен по дефолту во всех браузерах, насколько я знаю.
Ну и вообще не понимаю я его. Ну т.е. могу понять, что профит за счет пака запросов в один пакет, но нынче это копейки. Могу понять, если несколько запросов в динамику - сервер может паралельно их на бекенд кинуть. Но если статика, а это основная часть запросов как правило... как бы не вижу профита большого.
 

fixxxer

К.О.
Партнер клуба
Ну это же не значит, что его не существует. :D

Я, например, в firefox-е всегда включаю.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Нет.
Вот в таком порядке
1, 3, 5, 2, 4, 6
1,3,5 вместе и называется HTTP запросом
2,4,6 - HTTP ответом.
Для полноты картины добавлю, что ещё бывают ответы типа 100 Continue.

Т.е. клиент посылает серверу заголовки запроса POST (ну или PUT), включая заголовок "Expect: 100-continue". Сервер посылает ответ с кодом 100, если он хочет/может принять данные или с каким-то другим кодом, если не хочет/не может. Только получив ответ с кодом 100, клиент отправляет тело POST запроса, чтобы просто так не гонять его по сети.

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

grigori

( ͡° ͜ʖ ͡°)
Команда форума
basic auth, присылающий 401 Unauthorized, работает по тому же принципу запрос-ответ-новый запрос-полноценный ответ
 

MiksIr

miksir@home:~$
Не, 401 тут никак не лезет. 401 - это обычные такие два HTTP запроса. Равно как и 301/302 и т.п.
Для полноты картины добавлю, что ещё бывают ответы типа 100 Continue.
Возможно, оригинальное сообщение в теме и родилось в результате изучения красочного пересказа этого механизма.
Ну да, может, хотя сомневаюсь что из-за этого родилось, ибо все-равно там много пунктов. В случае 100 будет "1, 3, 2, 4, 5, 6" ;) Интересно, а кто-то из браузеров использует 100 для постов? Или это исключительно для своих кастомных клиентов.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
используют, погляди траффик при аплоаде файлов
да и серверы часто шлют 100 даже когда их не просят
 

newARTix

Новичок
Opera использует по-дефолту. Задолбался я уже с одни ajax-глюком в ней, из-за этого 100.
 

RevivaL

Новичок
Ещё один маленьким вопрос...
По истечению времени простоя, сервер разрывает соединение с клиентом, при этом он информирует клиента о разрыве соединения?
 

MiksIr

miksir@home:~$
Нет, просто закрывает соединение - это вполне себе "информирование". Например, бывают случаи, что сервер отдает ответ без указания его длины в заголовках (Content-Length), тогда окончанием ответа (ну в случае Connection:closed, конечно, или HTTP/1.0) является, опять же, просто закрытие соединения.
Вообще, стандартный протокол HTTP не подразумевает посыла сообщений клиенту без его запроса, т.е. сервер ничего сам сообщить не может, только ответить.
 

RevivaL

Новичок
Нет, просто закрывает соединение - это вполне себе "информирование". Например, бывают случаи, что сервер отдает ответ без указания его длины в заголовках (Content-Length), тогда окончанием ответа (ну в случае Connection:closed, конечно, или HTTP/1.0) является, опять же, просто закрытие соединения.
Вообще, стандартный протокол HTTP не подразумевает посыла сообщений клиенту без его запроса, т.е. сервер ничего сам сообщить не может, только ответить.
Спасибо, разобрался.
 

RevivaL

Новичок
Статья рассчитана на человека впервые видящего http протокол и php
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
тем, кто впервые видит php, http не нужен, им нужен учебник по html
для тех, кому нужно узнать про http, есть wikipedia,
где они смогут узнать о протоколах, гипертексте, и вообще заполнить белые дыры в своем образовании
 

MiksIr

miksir@home:~$
Ну написано, конечно, на уровне "компьютер для чайников", но вроде фактических ошибок нет.
Режет ухо вступление, в частности "привязанность php к http" и "был реализован http протокол" (скорее все же _используется_ http протокол, а то уходим в проблему курицы и яйца).
 

fixxxer

К.О.
Партнер клуба
Ты повнимательнее прочитай.

Ржаки много, но вот это
Протокол так же передает некие параметры php программе (GET POST COOKIE) через переменные окружения. По этому php и зависит от http протокола, без него php не действует.
ваще шедевр ящитаю.
 

MiksIr

miksir@home:~$
Мдя... это нада тоже убирать ;) Наверно не вчитывался. Ну блин, все равно считаю что чувак правильно делает, что пишет ;) Только показывать никому нельзя - чисто для себя, что бы потом анализировать и понимать свои косяки.
 

AmdY

Пью пиво
Команда форума
fixxxer
было бы больше, правильнее и подробнее, народ бы вообще не осилил нудную техническую литературу. меня, от дискавери мутит, но людям нравится, и они узнают что-то новое, а не превращаются обратно в обезьян смотря изауру и ментов.
 
Сверху