Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Protokol HTTP

Jirka
Jirka (neregistrovaný) ---.w90-4.abo.wanadoo.fr
12. 9. 2011 2:20 Nový

tcpdump...

celé vlákno

Kdyz neni dostupny wireshark (tshark) tak stejne dobre poslouzi i tcpdump.

Tomáš Matějíček aura:46
12. 9. 2011 7:57 Nový

Hned v uvodu chyba

celé vlákno

Vytratilo se tam CRLF hned v uvodnim prikladu...
GET /pokus.xhtml HTTP/1.0Host: example.com

Franta Kučera aura:90
12. 9. 2011 8:25 Nový

Re: Hned v uvodu chyba

celé vlákno

Ano, chybí tam konec řádku. Prosím někoho z redakce o opravu, já už se k editaci nedostanu.

MilanK
MilanK (neregistrovaný) ---.din.cz
12. 9. 2011 8:46 Nový

Jak je to s konci radku?

celé vlákno

Jeste bych zduraznil, ze podle RFC popisujicich HTTP protokol se radky oddeluji dvojici znaku CR a LF.

Vetsina HTTP serveru toleruje i samotne LF, ktere se pouziva v Unixovych textovych souborech (a mozna i jine kombinace). Ale nektere to vyhodnoti jako syntaktickou chybu a zavrou spojeni.

Linuxovy "telnet", ktery je pravdepodobne uveden v prikladu na zacatku, zrovna pri stisku klavesy Enter posle napsany radek a k nemu CR a LF (aspon v mem Debian Squeeze, overeno pred chvili tcpdumpem, ani jsem nemusel pouzit "set crlf").

Ale ten priklad se "socat" bude imho posilat pouze LF...

Franta Kučera aura:90
12. 9. 2011 16:42 Nový

Re: Jak je to s konci radku?

celé vlákno

Normálně socat posílá jen LF, což tedy taky funguje :-), většinou. Ale abychom to měli správně podle RFC, můžeme napsat:

socat TCP:example.com:80,crlf READLINE

a socat pak posílá hezky CRLF

Petr Krčmář aura:100
12. 9. 2011 9:36 Nový

Re: Hned v uvodu chyba

celé vlákno

Opraveno, díky.

kmarty aura:84
12. 9. 2011 16:38 Nový

Re: Hned v uvodu chyba

celé vlákno

Opravte mne jestli se pletu, ale kdyz uz se do dotazu dava "Host:" ... nemelo by to byt spis HTTP/1.1 kdyz v 1.0 jeste nebyla?

Franta Kučera aura:90
12. 9. 2011 18:26 Nový

Re: Hned v uvodu chyba

celé vlákno

1.0 je tam pro jednoduchost, aby se spojení hned ukončilo ( Connection closed by foreign host.) a nezůstalo tam viset (museli bychom použít Connection: close) nebo ho shodit z klienta pomocí Ctrl+C (případně ^] a Ctrl+D v telnetu).

Hlavička Host: je od 1.1 povinná a v 1.0 může a nemusí fungovat – tam platí, že:

„However, new or experimental header fields may be given the semantics of request header fields if all parties in the communication recognize them to be request header fields.“

a často fungovat bude – rozdíl je pak hlavně v tom výchozím chování ohledně zavírání spojení: v 1.0 se zavře, pokud není uvedeno Connection: Keep-Alive a v 1.1 se nezavře, pokud nedáme Connection: close.

kmarty aura:84
12. 9. 2011 23:50 Nový

Re: Hned v uvodu chyba

celé vlákno

Aaha, diky.

Otto Šabart aura:69
12. 9. 2011 11:27 Nový

Podekovani

celé vlákno

Velmi pekny clanek, skvele a srozumitelne napsany. Dekuji.

Mimochodem - myslim, ze clanek o wiresharku by uvitalo hodne lidi:-), vcetne me.

hynek
hynek (neregistrovaný) ---.janbosko.cz
12. 9. 2011 11:30 Nový

Opravit chybný link

celé vlákno

Odkaz na "GNU Readline" nefunguje, protože před názvem serveru vypadlo "http://".

Děkuji za příjemný článek shrnující známé věci s odkazy na zdroje.

Martin Malý aura:93
12. 9. 2011 17:50 Nový

Re: Opravit chybný link

celé vlákno

Opraveno, díky.

Sten
Sten (neregistrovaný) 193.29.76.---
12. 9. 2011 13:31 Nový

Kód jazyka

celé vlákno

Všem autorům, kteří chtějí používat kódy jazyka, bych rád připomenul, že čeština má kód "cs", nikoliv "cz" (zato "CZ" je kód pro ČR). Linuxoví uživatelé to asi budou znát (čeština je v locales "cs_CZ"), ale u spousty webů jsem to viděl špatně a z vlastní zkušenosti vím, že je pak často zatraceně těžké takové aplikace opravit.

skrat
skrat (neregistrovaný) ---.xs4all.nl
12. 9. 2011 15:49 Nový

Websocket

celé vlákno

Aktualna tema: kedy pouzit HTTP (synchornne/a­synchronne), a kedy Websocket.

Franta Kučera aura:90
13. 9. 2011 19:20 Nový

Re: Websocket

celé vlákno

Až ho bude podporovat významná část uživatelů dané aplikace :-)

Ale jinak Websocket přišel trochu s křížkem po funuse, protože tenhle druh komunikace se do HTTP už podařilo dobastlit, resp. ohnout komunikaci tak, aby nebylo potřeba upravovat protokol (pořád je to formálně na principu požadavek/odpověď, akorát ta odpověď je hooodně dlouhá a přichází postupně).

Bronislav Klučka aura:36
30. 9. 2011 21:26 Nový

Re: Websocket

celé vlákno

se obávám, že se mýlíte... full duplex se nedá pomocí http simulovat... samozřejmě, pokud nepotřebujete full duplex, ale stačí vám např. long pooling, tak http použit můžete....

Bronislav Klučka aura:36
30. 9. 2011 21:28 Nový

Re: Websocket

celé vlákno

potřebujete full duplex a nepotřebujete, aby to běželo na "všech" (áčkových) pohlížečích? Použijte WS. Nepotřebujete full duplex nebo potřebujete aby to běželo skoro všude? Budete muset použít http

Michal
Michal (neregistrovaný) ---.net.upcbroadband.cz
12. 9. 2011 18:12 Nový

Super clanek

celé vlákno

Diky

Michal Lupečka
12. 9. 2011 23:36 Nový

request/responese

celé vlákno

Tak si testuju, co jsem se dneska dozvěděl a nějak se nemůžu domáknout toho Content-MD5.

Chápu tu správně, že z uvedených příkladů je
Range: bytes=500-999
hlavička požadavku, kdežto
Content-MD5: Q2hlY2sgSW50Z­WdyaXR5IQ==
je hlavička odpovědi?

V tom případě, dá se Content-MD5 nějak vyžádat v požadavku? Protože nevím o žádném serveru, který by takovou hlavičku sám od sebe posílal.

Sten
Sten (neregistrovaný) 193.29.76.---
13. 9. 2011 15:19 Nový

Re: request/responese

celé vlákno

Content-MD5 může posílat i klient, pokud posílá tělo požadavku (při POST). Vynutit se nedá a kvůli výkonu se moc nepoužívá.

Franta Kučera aura:90
13. 9. 2011 15:34 Nový

Re: request/responese

celé vlákno

jj, např. v Apachovi jde úplně vypnout nebo úplně zapnout, nic mezi tím (posílat volitelně) a ve výchozím stavu je to vypnuté. Ona už jen představa, že si uživatel vyžádá stažení nějakého CD/DVD obrazu a nejdřív se bude muset spočítat MD5 ze stovek MB dat a pak se teprve můžou poslat hlavičky a vlastní data…

Chtělo by to modul, který by ten hash nepočítal pokaždé znova, ale bral ho např. z rozšířených atributů nebo z pomocného souboru (*.md5). Podobně jako to dělá ten Nginx s gzipováním (.gz soubor může být připravený předem a nekomprimuje se pokaždé znova).

Zapnout generování Content-MD5 se dá v nějakém bezpečném prostředí (menší soubory, interní systémy, API, které z těch hashů bude čerpat nějaké výhody…), ale i tak by bylo vhodnější to spočítat jen jednou (a pak jen kontrolovat, jestli se změnilo datum/velikost souboru).

hm...
hm... (neregistrovaný) 78.141.102.---
13. 9. 2011 3:11 Nový

pochvala

celé vlákno

pekny ozav v kusku pekny clanok, blahozelam autorovy, dakujem

Ladislav Thon
Ladislav Thon (neregistrovaný) ---.51.broadband2.iol.cz
13. 9. 2011 11:52 Nový

Re: Protokol HTTP

celé vlákno

Jak řekl Jan Lehnardt na IRC: haha, I'm sitting in an ""HTTP Architecture" session, and all the two speakers do is tell the audience how CouchDB gets it all right. :-)

Franta Kučera aura:90
13. 9. 2011 19:20 Nový

Re: Protokol HTTP

celé vlákno

A co tím chtěl básník říct? :-)

Zasílat nově přidané příspěvky e-mailem