SSブログ

HTML文書にGIFをたくさん埋め込んでみた - Internet Explorerの場合 [ColdFire V2]このエントリーを含むはてなブックマーク#

2047506

前回のHTML文書をInternet Explorerで表示させてみました。 なぜか、全ての画像が表示されました。 どうしてなんだろう。

パケット・モニタで解析

では、早速、パケット・モニタで解析します。

#1	0.000000	192.168.1.2	192.168.1.10
	TCP	1211 > 80 [SYN] Seq=0 Win=16384 Len=0 MSS=1460
#2	0.000446	192.168.1.10	192.168.1.2
	TCP	80 > 1211 [SYN, ACK] Seq=0 Ack=1 Win=1454 Len=0
#3	0.000519	192.168.1.2	192.168.1.10
	TCP	1211 > 80 [ACK] Seq=1 Ack=1 Win=16616 Len=0
#4	0.007449	192.168.1.2	192.168.1.10
	HTTP	GET /ShowGeaTemplate.htm HTTP/1.1 
	TCP	1211 > 80 [PSH, ACK] Seq=1 Ack=1 Win=16616 Len=322
#5	0.008347	192.168.1.10	192.168.1.2
	TCP	80 > 1211 [ACK] Seq=1 Ack=323 Win=1454 Len=0
#6	0.012150	192.168.1.10	192.168.1.2
	TCP	[TCP segment of a reassembled PDU]
	TCP	80 > 1211 [PSH, ACK] Seq=1 Ack=323 Win=1454 Len=1408
#31	0.115099	192.168.1.2	192.168.1.10
	TCP	1211 > 80 [ACK] Seq=323 Ack=1409 Win=16616 Len=0
#32	0.116324	192.168.1.10	192.168.1.2
	HTTP	HTTP/1.1 200 OK  (text/html)
	TCP	80 > 1211 [PSH, ACK] Seq=1409 Ack=323 Win=1454 Len=388
#36	0.123218	192.168.1.2	192.168.1.10
	HTTP	GET /Fu1.gif HTTP/1.1 
	TCP	1211 > 80 [PSH, ACK] Seq=323 Ack=1797 Win=16228 Len=360
#37	0.124085	192.168.1.10	192.168.1.2
	TCP	80 > 1211 [ACK] Seq=1797 Ack=683 Win=1454 Len=0
#38	0.124155	192.168.1.10	192.168.1.2
	TCP	80 > 1211 [FIN, ACK] Seq=1797 Ack=683 Win=1454 Len=0
#39	0.124216	192.168.1.2	192.168.1.10
	TCP	1211 > 80 [ACK] Seq=683 Ack=1798 Win=16228 Len=0
#40	0.124554	192.168.1.2	192.168.1.10
	TCP	1211 > 80 [FIN, ACK] Seq=683 Ack=1798 Win=16228 Len=0
#41	0.125001	192.168.1.10	192.168.1.2
	TCP	80 > 1211 [ACK] Seq=1798 Ack=684 Win=1454 Len=0

第1コネクションは、ポート1211を使って、HTML文書を取り寄せます。 Firefoxの時と同じように、コネクションを使いまわしてGIFファイル Fu1.gif も取り寄せようとしますが、ColdFireに切断を要求されてしまいます。

#7	0.069593	192.168.1.2	192.168.1.10
	TCP	1213 > 80 [SYN] Seq=0 Win=16384 Len=0 MSS=1460
#8	0.069987	192.168.1.10	192.168.1.2
	TCP	80 > 1213 [SYN, ACK] Seq=0 Ack=1 Win=1454 Len=0
#9	0.070058	192.168.1.2	192.168.1.10
	TCP	1213 > 80 [ACK] Seq=1 Ack=1 Win=16616 Len=0
#10	0.077090	192.168.1.2	192.168.1.10
	HTTP	GET /Ry0.gif HTTP/1.1 
	TCP	1213 > 80 [PSH, ACK] Seq=1 Ack=1 Win=16616 Len=360
#11	0.078104	192.168.1.10	192.168.1.2
	TCP	80 > 1213 [ACK] Seq=1 Ack=361 Win=1454 Len=0
#12	0.079939	192.168.1.10	192.168.1.2
	HTTP	HTTP/1.1 200 OK  (GIF89a)
	TCP	80 > 1213 [PSH, ACK] Seq=1 Ack=361 Win=1454 Len=692
#13	0.085455	192.168.1.2	192.168.1.10
	HTTP	GET /Ke1.gif HTTP/1.1 
	TCP	1213 > 80 [PSH, ACK] Seq=361 Ack=693 Win=16616 Len=360
#14	0.086437	192.168.1.10	192.168.1.2
	TCP	80 > 1213 [ACK] Seq=693 Ack=721 Win=1454 Len=0
#15	0.086491	192.168.1.10	192.168.1.2
	TCP	80 > 1213 [FIN, ACK] Seq=693 Ack=721 Win=1454 Len=0
#16	0.086549	192.168.1.2	192.168.1.10
	TCP	1213 > 80 [ACK] Seq=721 Ack=694 Win=16616 Len=0
#17	0.087115	192.168.1.2	192.168.1.10
	TCP	1213 > 80 [FIN, ACK] Seq=721 Ack=694 Win=16616 Len=0
#18	0.087449	192.168.1.10	192.168.1.2
	TCP	80 > 1213 [ACK] Seq=694 Ack=722 Win=1454 Len=0

第2コネクションは、ポート1213を使って、GIFファイル Ry0.gif を取り寄せます。 Ke1.gif の要求が拒否されるのは今まで同様です。 Firefoxとの違いは、 Ry0.gif の取り寄せ中は他のコネクションが張られない事です。

#19	0.095134	192.168.1.2	192.168.1.10
	TCP	1215 > 80 [SYN] Seq=0 Win=16384 Len=0 MSS=1460
#20	0.095512	192.168.1.10	192.168.1.2
	TCP	80 > 1215 [SYN, ACK] Seq=0 Ack=1 Win=1454 Len=0
#21	0.095573	192.168.1.2	192.168.1.10
	TCP	1215 > 80 [ACK] Seq=1 Ack=1 Win=16616 Len=0
#22	0.102395	192.168.1.2	192.168.1.10
	HTTP	GET /Ke1.gif HTTP/1.1 
	TCP	1215 > 80 [PSH, ACK] Seq=1 Ack=1 Win=16616 Len=360
#23	0.103341	192.168.1.10	192.168.1.2
	TCP	80 > 1215 [ACK] Seq=1 Ack=361 Win=1454 Len=0
#24	0.105101	192.168.1.10	192.168.1.2
	HTTP	HTTP/1.1 200 OK  (GIF89a)
	TCP	80 > 1215 [PSH, ACK] Seq=1 Ack=361 Win=1454 Len=645
#25	0.109966	192.168.1.2	192.168.1.10
	TCP	1215 > 80 [PSH, ACK] Seq=361 Ack=646 Win=16616 Len=360
	HTTP	GET /Gn1.gif HTTP/1.1 
#26	0.110864	192.168.1.10	192.168.1.2
	TCP	80 > 1215 [ACK] Seq=646 Ack=721 Win=1454 Len=0
#27	0.110913	192.168.1.10	192.168.1.2
	TCP	80 > 1215 [FIN, ACK] Seq=646 Ack=721 Win=1454 Len=0
#28	0.110970	192.168.1.2	192.168.1.10
	TCP	1215 > 80 [ACK] Seq=721 Ack=647 Win=16616 Len=0
#29	0.111549	192.168.1.2	192.168.1.10
	TCP	1215 > 80 [FIN, ACK] Seq=721 Ack=647 Win=16616 Len=0
#30	0.111896	192.168.1.10	192.168.1.2
	TCP	80 > 1215 [ACK] Seq=647 Ack=722 Win=1454 Len=0

第3コネクションは、ポート1215を使って、GIFファイル Ke1.gif を取り寄せ、続く Gn1.gif の要求が拒否されます。 この間も他のコネクションは張られません。

#33	0.121191	192.168.1.2	192.168.1.10
	TCP	1217 > 80 [SYN] Seq=0 Win=16384 Len=0 MSS=1460
#34	0.121561	192.168.1.10	192.168.1.2
	TCP	80 > 1217 [SYN, ACK] Seq=0 Ack=1 Win=1454 Len=0
#35	0.121629	192.168.1.2	192.168.1.10
	TCP	1217 > 80 [ACK] Seq=1 Ack=1 Win=16616 Len=0
#57	0.149583	192.168.1.2	192.168.1.10
	HTTP	GET /Gn1.gif HTTP/1.1 
	TCP	1217 > 80 [PSH, ACK] Seq=1 Ack=1 Win=16616 Len=360
#58	0.150471	192.168.1.10	192.168.1.2
	TCP	80 > 1217 [ACK] Seq=1 Ack=361 Win=1454 Len=0
#59	0.152216	192.168.1.10	192.168.1.2
	HTTP	HTTP/1.1 200 OK  (GIF89a)
	TCP	80 > 1217 [PSH, ACK] Seq=1 Ack=361 Win=1454 Len=662
#60	0.157238	192.168.1.2	192.168.1.10
	HTTP	GET /Fu0.gif HTTP/1.1 
	TCP	1217 > 80 [PSH, ACK] Seq=361 Ack=663 Win=16616 Len=360
#61	0.158110	192.168.1.10	192.168.1.2
	TCP	80 > 1217 [ACK] Seq=663 Ack=721 Win=1454 Len=0
#62	0.158182	192.168.1.10	192.168.1.2
	TCP	80 > 1217 [FIN, ACK] Seq=663 Ack=721 Win=1454 Len=0
#63	0.158245	192.168.1.2	192.168.1.10
	TCP	1217 > 80 [ACK] Seq=721 Ack=664 Win=16616 Len=0
#64	0.160412	192.168.1.2	192.168.1.10
	TCP	1217 > 80 [FIN, ACK] Seq=721 Ack=664 Win=16616 Len=0
#65	0.160772	192.168.1.10	192.168.1.2
	TCP	80 > 1217 [ACK] Seq=664 Ack=722 Win=1454 Len=0

第4コネクションは、ポート1217を使って、GIFファイル Gn1.gif を取り寄せ、続く Fu0.gif の要求が拒否されます。

#42	0.126065	192.168.1.2	192.168.1.10
	TCP	1219 > 80 [SYN] Seq=0 Win=16384 Len=0 MSS=1460
#43	0.126425	192.168.1.10	192.168.1.2
	TCP	80 > 1219 [SYN, ACK] Seq=0 Ack=1 Win=1454 Len=0
#44	0.126492	192.168.1.2	192.168.1.10
	TCP	1219 > 80 [ACK] Seq=1 Ack=1 Win=16616 Len=0
#45	0.128055	192.168.1.2	192.168.1.10
	HTTP	GET /Fu1.gif HTTP/1.1 
	TCP	1219 > 80 [PSH, ACK] Seq=1 Ack=1 Win=16616 Len=360
#46	0.128916	192.168.1.10	192.168.1.2
	TCP	80 > 1219 [ACK] Seq=1 Ack=361 Win=1454 Len=0
#47	0.130562	192.168.1.10	192.168.1.2
	HTTP	HTTP/1.1 200 OK  (GIF89a)
	TCP	80 > 1219 [PSH, ACK] Seq=1 Ack=361 Win=1454 Len=607
#48	0.143724	192.168.1.2	192.168.1.10
	HTTP	GET /Kn1.gif HTTP/1.1 
	TCP	1219 > 80 [PSH, ACK] Seq=361 Ack=608 Win=16616 Len=360
#49	0.144606	192.168.1.10	192.168.1.2
	TCP	80 > 1219 [ACK] Seq=608 Ack=721 Win=1454 Len=0
#50	0.144767	192.168.1.10	192.168.1.2
	TCP	80 > 1219 [FIN, ACK] Seq=608 Ack=721 Win=1454 Len=0
#51	0.144826	192.168.1.2	192.168.1.10
	TCP	1219 > 80 [ACK] Seq=721 Ack=609 Win=16616 Len=0
#52	0.145190	192.168.1.2	192.168.1.10
	TCP	1219 > 80 [FIN, ACK] Seq=721 Ack=609 Win=16616 Len=0
#53	0.145520	192.168.1.10	192.168.1.2
	TCP	80 > 1219 [ACK] Seq=609 Ack=722 Win=1454 Len=0

第5コネクションは、第1コネクションが終了したころに始まり、ポート1219を使って、GIFファイル Fu1.gif を取り寄せ、続く Kn1.gif の要求が拒否されます。

#54	0.148990	192.168.1.2	192.168.1.10
	TCP	1221 > 80 [SYN] Seq=0 Win=16384 Len=0 MSS=1460
#55	0.149357	192.168.1.10	192.168.1.2
	TCP	80 > 1221 [SYN, ACK] Seq=0 Ack=1 Win=1454 Len=0
#56	0.149418	192.168.1.2	192.168.1.10
	TCP	1221 > 80 [ACK] Seq=1 Ack=1 Win=16616 Len=0
#66	0.161187	192.168.1.2	192.168.1.10
	HTTP	GET /Kn1.gif HTTP/1.1 
	TCP	1221 > 80 [PSH, ACK] Seq=1 Ack=1 Win=16616 Len=360
#67	0.162054	192.168.1.10	192.168.1.2
	TCP	80 > 1221 [ACK] Seq=1 Ack=361 Win=1454 Len=0
#68	0.163838	192.168.1.10	192.168.1.2
	HTTP	HTTP/1.1 200 OK  (GIF89a)
	TCP	80 > 1221 [PSH, ACK] Seq=1 Ack=361 Win=1454 Len=648
#69	0.168871	192.168.1.2	192.168.1.10
	HTTP	GET /Gk1.gif HTTP/1.1 
	TCP	1221 > 80 [PSH, ACK] Seq=361 Ack=649 Win=16616 Len=360
#70	0.169841	192.168.1.10	192.168.1.2
	TCP	80 > 1221 [ACK] Seq=649 Ack=721 Win=1454 Len=0
#71	0.169886	192.168.1.10	192.168.1.2
	TCP	80 > 1221 [FIN, ACK] Seq=649 Ack=721 Win=1454 Len=0
#72	0.169948	192.168.1.2	192.168.1.10
	TCP	1221 > 80 [ACK] Seq=721 Ack=650 Win=16616 Len=0
#73	0.170350	192.168.1.2	192.168.1.10
	TCP	1221 > 80 [FIN, ACK] Seq=721 Ack=650 Win=16616 Len=0
#74	0.170688	192.168.1.10	192.168.1.2
	TCP	80 > 1221 [ACK] Seq=650 Ack=722 Win=1454 Len=0

第6コネクションは、ポート1221を使って、GIFファイル Kn1.gif を取り寄せ、続く Gk1.gif の要求が拒否されます。

#75	0.174090	192.168.1.2	192.168.1.10
	TCP	1224 > 80 [SYN] Seq=0 Win=16384 Len=0 MSS=1460
#76	0.174453	192.168.1.10	192.168.1.2
	TCP	80 > 1224 [SYN, ACK] Seq=0 Ack=1 Win=1454 Len=0
#77	0.174519	192.168.1.2	192.168.1.10
	TCP	1224 > 80 [ACK] Seq=1 Ack=1 Win=16616 Len=0
#78	0.175500	192.168.1.2	192.168.1.10
	HTTP	GET /Gk1.gif HTTP/1.1 
	TCP	1224 > 80 [PSH, ACK] Seq=1 Ack=1 Win=16616 Len=360
#80	0.176384	192.168.1.10	192.168.1.2
	TCP	80 > 1224 [ACK] Seq=1 Ack=361 Win=1454 Len=0
#81	0.178184	192.168.1.10	192.168.1.2
	HTTP	HTTP/1.1 200 OK  (GIF89a)
	TCP	80 > 1224 [PSH, ACK] Seq=1 Ack=361 Win=1454 Len=669
#82	0.183174	192.168.1.2	192.168.1.10
	HTTP	GET /Gn0.gif HTTP/1.1 
	TCP	1224 > 80 [PSH, ACK] Seq=361 Ack=670 Win=16616 Len=360
#83	0.184038	192.168.1.10	192.168.1.2
	TCP	80 > 1224 [ACK] Seq=670 Ack=721 Win=1454 Len=0
#84	0.184109	192.168.1.10	192.168.1.2
	TCP	80 > 1224 [FIN, ACK] Seq=670 Ack=721 Win=1454 Len=0
#85	0.184165	192.168.1.2	192.168.1.10
	TCP	1224 > 80 [ACK] Seq=721 Ack=671 Win=16616 Len=0
#86	0.184478	192.168.1.2	192.168.1.10
	TCP	1224 > 80 [FIN, ACK] Seq=721 Ack=671 Win=16616 Len=0
#87	0.184829	192.168.1.10	192.168.1.2
	TCP	80 > 1224 [ACK] Seq=671 Ack=722 Win=1454 Len=0

第7コネクションは、ポート1224を使って、GIFファイル Gk1.gif を取り寄せ、続く Gn0.gif の要求が拒否されます。

#79	0.176139	192.168.1.2	192.168.1.10
	TCP	1225 > 80 [SYN] Seq=0 Win=16384 Len=0 MSS=1460
#97	3.132799	192.168.1.2	192.168.1.10
	TCP	1225 > 80 [SYN] Seq=0 Win=16384 Len=0 MSS=1460
#98	3.133263	192.168.1.10	192.168.1.2
	TCP	80 > 1225 [SYN, ACK] Seq=0 Ack=1 Win=1454 Len=0
#99	3.133371	192.168.1.2	192.168.1.10
	TCP	1225 > 80 [ACK] Seq=1 Ack=1 Win=16616 Len=0
#100	3.141256	192.168.1.2	192.168.1.10
	HTTP	GET /Fu0.gif HTTP/1.1 
#100	3.141256	192.168.1.2	192.168.1.10
	TCP	1225 > 80 [PSH, ACK] Seq=1 Ack=1 Win=16616 Len=360
#101	3.142211	192.168.1.10	192.168.1.2
	TCP	80 > 1225 [ACK] Seq=1 Ack=361 Win=1454 Len=0
#102	3.143835	192.168.1.10	192.168.1.2
	HTTP	HTTP/1.1 200 OK  (GIF89a)
#102	3.143835	192.168.1.10	192.168.1.2
	TCP	80 > 1225 [PSH, ACK] Seq=1 Ack=361 Win=1454 Len=608
#103	3.333871	192.168.1.2	192.168.1.10
	TCP	1225 > 80 [ACK] Seq=361 Ack=609 Win=16616 Len=0
#104	3.334286	192.168.1.10	192.168.1.2
	TCP	80 > 1225 [FIN, ACK] Seq=609 Ack=361 Win=1454 Len=0
#105	3.334356	192.168.1.2	192.168.1.10
	TCP	1225 > 80 [ACK] Seq=361 Ack=610 Win=16616 Len=0
#106	8.143978	192.168.1.2	192.168.1.10
	TCP	1225 > 80 [FIN, ACK] Seq=361 Ack=610 Win=16616 Len=0
#108	8.144406	192.168.1.10	192.168.1.2
	TCP	80 > 1225 [ACK] Seq=610 Ack=362 Win=1454 Len=0

第8コネクションは、ポート1225を使って、GIFファイル Fu0.gif を取り寄せます。 このコネクションは、#79の"SYN"がColdFireに無視されたため、3秒後に#97で"SYN"を再送して開始します。 また、ブラウザからの"FIN"の送信(#106)も#105の"ACK"の5秒後と遅く到着しています。

#88	0.192857	192.168.1.2	192.168.1.10
	TCP	1227 > 80 [SYN] Seq=0 Win=16384 Len=0 MSS=1460
#89	0.193236	192.168.1.10	192.168.1.2
	TCP	80 > 1227 [SYN, ACK] Seq=0 Ack=1 Win=1454 Len=0
#90	0.193306	192.168.1.2	192.168.1.10
	TCP	1227 > 80 [ACK] Seq=1 Ack=1 Win=16616 Len=0
#91	0.200221	192.168.1.2	192.168.1.10
	HTTP	GET /Gn0.gif HTTP/1.1 
	TCP	1227 > 80 [PSH, ACK] Seq=1 Ack=1 Win=16616 Len=360
#92	0.201089	192.168.1.10	192.168.1.2
	TCP	80 > 1227 [ACK] Seq=1 Ack=361 Win=1454 Len=0
#93	0.202868	192.168.1.10	192.168.1.2
	HTTP	HTTP/1.1 200 OK  (GIF89a)
	TCP	80 > 1227 [PSH, ACK] Seq=1 Ack=361 Win=1454 Len=673
#94	0.316363	192.168.1.2	192.168.1.10
	TCP	1227 > 80 [ACK] Seq=361 Ack=674 Win=16616 Len=0
#95	0.316852	192.168.1.10	192.168.1.2
	TCP	80 > 1227 [FIN, ACK] Seq=674 Ack=361 Win=1454 Len=0
#96	0.316953	192.168.1.2	192.168.1.10
	TCP	1227 > 80 [ACK] Seq=361 Ack=675 Win=16616 Len=0
#107	8.143979	192.168.1.2	192.168.1.10
	TCP	1227 > 80 [FIN, ACK] Seq=361 Ack=675 Win=16616 Len=0
#109	10.475631	192.168.1.2	192.168.1.10
	TCP	1227 > 80 [FIN, ACK] Seq=361 Ack=675 Win=16616 Len=0
#110	15.303797	192.168.1.2	192.168.1.10
	TCP	1227 > 80 [FIN, ACK] Seq=361 Ack=675 Win=16616 Len=0
#111	24.859544	192.168.1.2	192.168.1.10
	TCP	1227 > 80 [FIN, ACK] Seq=361 Ack=675 Win=16616 Len=0
#112	44.071617	192.168.1.2	192.168.1.10
	TCP	1227 > 80 [FIN, ACK] Seq=361 Ack=675 Win=16616 Len=0

最後の第9コネクションは、ポート1227を使って、GIFファイル Gn0.gif を取り寄せます。 このコネクションだけは、接続が終了しませんでした。 このため、ブラウザは"FIN"を打ち続けます。

通信のまとめ

packets2.png

通信の様子を図にしてみました。 詰まっているので判断しづらいのですが、同時に存在するコネクションの数が二つに制限されているように見えます。 どうやら、コネクションの数が少なければ、httpサーバとの通信はうまくいくようです。 あるいは、Internet Explorer にチューニングしてあるのだろうか。

参考文献

Interface (インターフェース) 2008年 09月号 [雑誌]

Interface (インターフェース) 2008年 09月号 [雑誌]

  • 作者:
  • 出版社/メーカー: CQ出版
  • 発売日: 2008/07/25
  • メディア: 雑誌

nice!(0)  コメント(0)  トラックバック(0)  このエントリーを含むはてなブックマーク#

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました