27950


Mac OSX ElCapitan + Safariの環境なのですが、Charlesでリダイレクト応答の通信をモニタする方法ってありませんか？  
例えば以下のURLにアクセスすると、httpsの通信のログしか残りません。

<http://twitter.com/>

[![httpsの通信だけがキャプチャされる](https://i.stack.imgur.com/FDyV4.png)](https://i.stack.imgur.com/FDyV4.png)

curlコマンドを使うとわかるのですが、実際には301応答が一度返ってきています。

[code]

    $ curl http://twitter.com -v
    * Rebuilt URL to: http://twitter.com/
    *   Trying 104.244.42.65...
    * Connected to twitter.com (104.244.42.65) port 80 (#0)
    > GET / HTTP/1.1
    > Host: twitter.com
    > User-Agent: curl/7.43.0
    > Accept: */*
    >
    < HTTP/1.1 301 Moved Permanently
    < content-length: 0
    < date: Thu, 28 Jul 2016 04:20:38 GMT
    < location: https://twitter.com/
    < server: tsa_a
    < set-cookie: guest_id=v1%3A146967963885084115; Domain=.twitter.com; Path=/; Expires=Sat, 28-Jul-2018 04:20:38 UTC
    < x-connection-hash: 7b3c31f2a72dd067f4d7ea5c2d73aab0
    < x-response-time: 3
    <
    * Connection #0 to host twitter.com left intact
    
[/code]

Charlesの設定を色々探してみたのですが、この通信ログはCharlesでは確認できませんでした。  
詳しい方いたら是非教えてください。


CC BY-SA 3.0
2016-07-28T04:25:27.777
27905
2016-07-29T16:15:02.990
257
question
network
CharlesのMac OS X Proxyの機能でリダイレクト応答を全てモニタする方法


HSTS と呼ばれる仕組みがあります。  
HTTPではなくHTTPSで通信するように、Webサイトからブラウザに伝える仕組みです。  
<http://blog.cybozu.io/entry/6096>

上記のサイトにもありますが、さらに Preloaded HSTS という仕組みがあり、  
ブラウザは事前にHSTSが有効なサイトを取得しています。  
<https://www.chromium.org/hsts>

> HSTS is supported in Google Chrome, Firefox, **Safari** , ...

SafariもPreload HSTSが有効になっており、twitterのURLも登録されていますので、  
<http://twitter.com> にアクセスしてもブラウザ内部で <https://twitter.com> に変換されてしまいます。  
このため、<http://twitter.com> へのアクセスがCharlesに記録されません。


CC BY-SA 3.0
2016-07-29T16:15:02.990
27950
2016-07-29T16:15:02.990
15228
27905
answer