HTML文書にGIFをたくさん埋め込んでみた - Internet Explorerの場合 [ColdFire V2]
前回の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"を打ち続けます。
通信のまとめ
通信の様子を図にしてみました。 詰まっているので判断しづらいのですが、同時に存在するコネクションの数が二つに制限されているように見えます。 どうやら、コネクションの数が少なければ、httpサーバとの通信はうまくいくようです。 あるいは、Internet Explorer にチューニングしてあるのだろうか。
参考文献
Interface (インターフェース) 2008年 09月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2008/07/25
- メディア: 雑誌
コメント 0