5. ASTEA (2016/02/24): TCP. Adibidea 2.

13
Garraio Maila: TCP Transport Control Protocol Konputagailu Sareen Oinarriak 5. ASTEA (2016/02/24) Konputagailu Sareen Oinarriak by Oskar Casquero is licensed under a Creative Commons Reconocimiento 4.0 Internacional License . Adibidea 2: www.ehu.es Web orriaren eguneratzea: cachean gordetakoaren berrerabilpena

Transcript of 5. ASTEA (2016/02/24): TCP. Adibidea 2.

Page 2: 5. ASTEA (2016/02/24): TCP. Adibidea 2.

2

•Zelan ekiditzen da beharrezkoa ez den trafiko trukea? (Cachea)

–HTTP protokoloak baditu bezeroak azkenegoz eskatu zituenetik aldatu ez diren baliabideen transferentzia saihesteko moduak:• Status: 304• Goiburuak:

– Eskaeran: Cache-Control, If-Modified-Since, If-None-Match– Erantzunean: Cache-Control, Date, Last-Modified, ETag

–Horrela, banda-zabaleraren erabilera optimizatu eta web zerbitzariak eskaera eta erantzun erredundanteak prozesatu eta sor ditzan saihesten da.

HTTP-ren funtzionamendua: cache

Page 3: 5. ASTEA (2016/02/24): TCP. Adibidea 2.

• Demagun nabigatzaile batek web orri bat eskatzen duela. Erantzuna (HTML dokumentua) jasotzen duenean, nabigatzaileak web orriaren barnean irudi bati erreferentzia egiten dion <img> elementua dagoela ikusten du• Beraz, nabigatzaileak irudia eskuratzeko bigarren HTTP eskaera bat egiten

du. Web zerbitzariak irudia HTTP erantzun batean itzultzen du, erantzun horretako goiburu jakin batzuetan meta-datu batzuk sartzen dituelarik.

HTTP-ren funtzionamendua: cache

3

GET /image.jpg HTTP/1.1 Host: sw2016.com:8080 Accept: image/*User-Agent: Mozilla Windows Escritorio

Eskaera baten adibideaHTTP/1.1 200 OKDate: Thu, 20 Nov 2015 20:25:52 GMTLast-Modified: Tue, 17 Sep 2015 13:00:02 GMTETag: "1a968-3ec-4e693e61bb8b6”Cache-Control: max-age=2592000Content-Length: 12405Content-Type: image/jpg

IRUDIA (eduki binarioa)

Erantzun baten adibidea

Page 4: 5. ASTEA (2016/02/24): TCP. Adibidea 2.

• Demagun erabiltzaileak nabigatzailea itxi eta hurrengo egunean web orri bera eskatzeko berriro zabaltzen duela, denbora tarte horretan web orri horretako irudia aldatu ez delarik.

HTTP-ren funtzionamendua: cache: freskotasuna

4

HTTP/1.1 200 OKDate: Thu, 20 Nov 2015 20:25:52 GMTLast-Modified: Tue, 17 Sep 2015 13:00:02 GMTETag: "1a968-3ec-4e693e61bb8b6”Cache-Control: max-age=2592000Content-Length: 12405Content-Type: image/jpg

IRUDIA (eduki binarioa)

Aurreko adibideko erantzuna“Cache-Control” goibura (RFC 2616, 14.9 atala) bezero eta proxy-en cache-en alderdi ezberdinak kudeatzeko erabiltzen da.

Kasu honetan, zerbitzariak nabigatzaileari ondorengo dinotso: “ez iezadazu irudi honengaitik galdetu hilabete baten buruan”.

Horrela, nabigatzaileak irudia bere cache-tik zuzenean hartzen du.

Page 5: 5. ASTEA (2016/02/24): TCP. Adibidea 2.

• Demagun bi hilabete geroago erabiltzaileak web orri bera berriro eskatzen duela, baina, nahiz eta web orriaren edukia aldatu den, irudia ez da aldatu.• Nabigatzaileak, irudiari lotutako cache gordetze denbora iraungi dela

ikustean, eskaera berri bat egiten du:

HTTP-ren funtzionamendua: cache: balidazioa bezeroan

5

“If-Modified-Since” goiburuan aurreko erantzunean “Last-Modified” goiburuan itzulitako balioa sartzen da.

“If-None-Match” goiburuan aurreko erantzunean “ETag” goiburuan itzulitako balioa sartzen da.

GET /image.jpg HTTP/1.1 Host: sw2016.com:8080 Accept: image/*If-Modified-Since: Tue, 17 Sep 2015 13:00:02 GMTIf-None-Match: "1a968-3ec-4e693e61bb8b6”User-Agent: Mozilla Windows Desktop

Eskaera berriaren adibidea

HTTP/1.1 200 OKDate: Thu, 20 Nov 2015 20:25:52 GMTLast-Modified: Tue, 17 Sep 2015 13:00:02 GMTETag: "1a968-3ec-4e693e61bb8b6”Cache-Control: max-age=2592000Content-Length: 12405Content-Type: image/jpg

IRUDIA (eduki binarioa)

Aurreko adibideko erantzuna

Page 6: 5. ASTEA (2016/02/24): TCP. Adibidea 2.

• If-Modified-Since datatik hona irudia aldatu ez bada eta If-None-Match-en adierazitako kodea zerbitzariak irudiari esleituta dion Etag kodearekin bat badator, orduan HTTP erantzunean 304 Not Modified erantzun kodea itzultzen da eta ez da edukirik txertatzen.

HTTP-ren funtzionamendua: cache:balidazioa zerbitzarian

6

HTTP/1.1 304 Not ModifiedDate: Thu, 20 Jan 2016 20:25:52 GMTLast-Modified: Tue, 17 Sep 2015 13:00:02 GMTETag: "1a968-3ec-4e693e61bb8b6”Cache-Control: max-age=2592000

Erantzun baten adibidea

Page 7: 5. ASTEA (2016/02/24): TCP. Adibidea 2.

7

HTTP eskaera/erantzuna: Adibidea 2http://www.ehu.es/

www.ehu.es158.227.0.65

zerbitzariabezeroa

GET / HTTP/1.1If-Modified-Since: Tue, 17 Sep 2013 13:00:02 GMTIf-None-Match: "1a968-3ec-4e693e61bb8b6”[beste goiburuak]\r\n

Page 8: 5. ASTEA (2016/02/24): TCP. Adibidea 2.

8

HTTP eskaera/erantzuna: Adibidea 2http://www.ehu.es/

www.ehu.es158.227.0.65

zerbitzariabezeroa

HTTP/1.1 304 Not Modified[goiburuak]\r\n[EDUKIRIK EZ]

Page 10: 5. ASTEA (2016/02/24): TCP. Adibidea 2.

10.107.8.83(bezeroa)

158.227.0.65(zerbitzaria)

51738

80

SYN (seq=0, len=0)

SYN, ACK (seq=0, ack=1, len=0)

51738

51738 ACK (seq=1, ack=1, len=0)

TCP konexio bat zabaltzen da bezeroaren 51738 eta zerbitzariaren 80 portuen artean

51738

80

PSH, ACK (seq=1, ack=1, len=1226)

Nabigatzaileak web orria aldatu den edo ez konprobatzen du.

GET / HTTP/1.1Host: www.ehu.esUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: en-US,en;q=0.5Accept-Encoding: gzip, deflateCookie: ObSSOCookie=dPspdEr29WZDWPxXiTnFv%2F20FqpuUsj4Oa2%2FFxDy%2FS3%2BYFdY9QU5R2AbL34Y6NAbI7XHl7Zswo9c7qv1%2BXlnUiGbvqNKYVRApp62H8s1cTsY2BNUsvZH0ZqB9CvwXGI5%2FOMVeOtH0hJPEKbKcrxB1o7Bsz9iflnxW0Z8NV1TnyvWrYuZZPCP0RPcoK6GPKCvPI53N9D%2F0MUseBkoFnRyfLA4Ydxz3x%2B80MY5Epf67hfVhGQtuDEXedoVCdMdzRtlx0YL4ZDw%2BJ7f%2BGPhD09ItqjYApcO%2F88p6Z5ZQSJO7hU%3D; TS0118723a=01e9e7210c49ebdfbe9c4bf2b16d3fc52bf70e4fede2763425c4a52b7e959cd0c0caad8a17a2fb980b2b3c9e4113a48a33579d549f68527b2046a42e161696cd91f431560acad9f5583d4bdf25a9ce5d4909d07e4e; TS01121901=01e9e7210c14a53b9e202012321e12d2ddddc35745b53ed3d152f98f8aa3d69729a1e838d8875a5490bf89c232d3fd3fedee333488; JSESSIONID=09D7FD938C350248FFDB5B8545B75BD3.liferay1; GUEST_LANGUAGE_ID=eu_ES; COOKIE_SUPPORT=true; _pk_id.27817.9bbb=3dd0e2f067b9014f.1394614668.1.1394614668.1394614668.Connection: keep-aliveIf-Modified-Since: Tue, 17 Sep 2013 13:00:02 GMTIf-None-Match: "1a968-3ec-4e693e61bb8b6"Cache-Control: max-age=0\r\n

TCP fluxua

(1)

(2)

(3)

(4)

Page 11: 5. ASTEA (2016/02/24): TCP. Adibidea 2.

80PSH, ACK

(seq=1, ack=1227, len=358)51738

If-Modified-Since-n datatik hona html orria aldatu ez bada eta If-None-Match-en ETag kodea bat badator zerbitzariak html orriari esleitu dion Etag kodearekin, orduan HTTP erantzunean 304 Not Modified erantzun kodea itzultzen da eta ez HTTP edukirik itzultzen.

HTTP/1.1 304 Not ModifiedDate: Wed, 12 Mar 2014 11:16:30 GMTConnection: Keep-AliveKeep-Alive: timeout=2, max=500ETag: "1a968-3ec-4e693e61bb8b6"Set-Cookie: TS0118723a=01e9e7210cc2dc2f9887ff1916fd88a5e6b43c58d0df6625136971e3cfd0a5d8a011752e453c8a430a71cef38b29144342306e6553d1064309abe3c4f56d9f6f9fe58be9ce3f85b70d77905518d86581be0ab8134d; Path=/\r\n

(5)

51738 ACK (seq=1227, ack=359, len=0)(6)

51738

80

PSH, ACK (seq=1227, ack=359, len=1237)(7)

Nabigatzaileak web orria osotzen duten elementuak aldatu diren edo ez konprobatzen du, lehenengoa css estilo orria delarik.

GET /AVCustom/styles/prehome.css HTTP/1.1Host: www.ehu.esUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0Accept: text/css,*/*;q=0.1Accept-Language: en-US,en;q=0.5Accept-Encoding: gzip, deflateReferer: http://www.ehu.es/[…]Connection: keep-aliveIf-Modified-Since: Tue, 15 Jul 2008 07:30:25 GMTIf-None-Match: "c2e6f-2f5-4520afb3be640"Cache-Control: max-age=0\r\n

80PSH, ACK

(seq=359, ack=2464, len=226)51738

If-Modified-Since-n datatik hona css estilo orria aldatu ez bada eta If-None-Match-en ETag kodea bat badator zerbitzariak css estilo orriari esleitu dion Etag kodearekin, orduan HTTP erantzunean 304 Not Modified erantzun kodea itzultzen da eta ez HTTP edukirik itzultzen.

(8)

Page 12: 5. ASTEA (2016/02/24): TCP. Adibidea 2.

51738

80

PSH, ACK (seq=2464, ack=585, len=1163)(9)

Nabigatzaileak javascript fitxategia eskatzen du (hau ez dago cacheatuta)

GET /AVCustom/r01gLangSelectorVA/scripts/PortalLanguagePreHome.js HTTP/1.1Host: www.ehu.esUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0Accept: */*Accept-Language: en-US,en;q=0.5Accept-Encoding: gzip, deflateReferer: http://www.ehu.es/[…]Connection: keep-aliveCache-Control: max-age=0\r\n

Erantzuna: HTTP/1.1 200 OK

51738

80

PSH, ACK (seq=3627, ack=1775, len=1251)(11)

Nabigatzaileak bullet.jpg irudia aldatu den edo ez konprobatzen du.

Erantzuna: HTTP/1.1 304 Not ModifiedPSH, ACK

(seq=1775, ack=4878, len=226)51738 (12)

51738

80

PSH, ACK (seq=4878, ack=2001, len=1280)(13)

Nabigatzaileak bg_img.jpg irudia aldatu den edo ez konprobatzen du.

Erantzuna: HTTP/1.1 304 Not ModifiedPSH, ACK

(seq=2001, ack=6158, len=228)51738 (14)

PSH, ACK

(seq=585, ack=3627, len=1190)51738 (10)

Page 13: 5. ASTEA (2016/02/24): TCP. Adibidea 2.

51738 ACK (seq=6158, ack=2229, len=0)(15)

FIN, ACK

(seq=2229, ack=6158, len=0)51738 (16)

51738 FIN, ACK (seq=6158, ack=2230, len=0)(17)

ACK (seq=2230, ack=6159, len=0)

51738 (18)

TCP konexioa itxi egiten da.