Firefox 浏览器附加组件
  • 扩展
  • 主题
    • 适用于 Firefox
    • 字典和语言包
    • 其他浏览器网站
    • 适用于 Android 的附加组件
登录
Diff HTTP 预览

Diff HTTP 作者: limkokhole

Diff the network traffic in real-time to observe the URLs variant over time.

3.7 (3 reviews)3.7 (3 reviews)
30 个用户30 个用户
您需要 Firefox 来使用此扩展
下载 Firefox 并安装扩展
下载文件

扩展元数据

屏幕截图
Diff collected HTTP URL in real-time. It will diff current URL with previous CLOSEST MATCH url. As you can see in the screenshot, it will get the closest variant to diff video only with video, instead of video with audio in YouTube.The sequence number "&seq=" keep increase in constant on Facebook. But then only "&cb=" always changed while "&seq=" not always increase. This extension unveil the hidden rule of complicated urls  in  instant.Click Post data or Headers cell or question marks (under URL expanded) to open windows to view the diff.Support "Clear", "Pause", "All tabs", "Diff only if host same", and also include data URL buttons. 

Also Status, Method, Post data, human-readable time, sent headers, and received headers columns.

Since "Recv headers" on [Prev] URL may not receive yet before shows [Curr] header, so special tag called "[Wait]" and "[Waited]" which may marked on "Recv Headers" column.[New] indicated this URL on its first appearance. And [Same] indicated the URL is duplicated with previous CLOSEST MATCH URL after diff.  Same URL doesn't means Post data or headers is same.data:image will shows If clicked include data URL button, but not recommend to use on daily basics since it required more processing resources.Hover on [Prev] or [Curr] title to see its URL tool-tip on popup window..
关于此扩展
Diff the network traffic in real-time to observe the urls variant over time.


Click here to play demonstration video v3.0 in YouTube


How to use:
After installed, right-click on webpage to open context menu and choose "Inspect Element". After inspector done loading, click the "Diff HTTP" tab. Navigate/Refresh the webpage to capture and diff network traffic in real-time.


Brief:
This extension capture network traffic in developer tools Diff HTTP tab, and then diff the current entry (URL/Post data/Sent Headers/Received Headers) with the previous CLOSEST MATCH entries if meet “The Rules”. The first entry will always marked as [New] since no previous entry. The second entry and the following may mark as any of [New]/[Diff]/[Same] after it meets the rule and diff.

Note that the Post data and headers are choosen depends on it’s URL.

Post data column: Mark as [None] if no compare AND curr no post data. Mark as [Same] if both(curr/prev) has same (no [None]) post data. Mark as [Same] plus underline with black padding if both(curr/prev) has [None] post data.

Mark as [Wait] in "Recv Headers" if prev URL's "Recv Headers" still empty, it may updated to [Waited:Diff|Same] later after received prev "Recv Headers".


Something is broken ?
1. Currently no support on Private Window.

2. The panel will shows blank if you click the “Diff HTTP” tab before “Inspector” tab loading done, bug report at https://bugzilla.mozilla.org/show_bug.cgi?id=1424515

3. You may need to upgrade your firefox to latest version if panel doesn’t capture anything.

4. Change panel black theme to white by navigate: about:config -> devtools.theme -> double-click the "dark" Value and edit it to "white".


Logic behind the scene:
Everytime the URL captured insert to the table, the internal all entries list will be sort right away. Due to the list is always has been sorted:
[1] It only need to do binary sort when insert new single entry.
[2] It can quickly picks 2 siblings of current entry which consider as 2 CLOSEST MATCH.

Then it will try to calculate the diff count for both siblings, and try to pick the least count of diff which is the 1st CLOSEST MATCH. If it did match “The Rules” below, then it will choosen to diff with the current entry. If the 1st CLOSEST MATCH sibling doesn’t match “The Rules”, then it will try the 2nd CLOSEST MATCH to test the “The Rules”. If both sibling failed to pass the test of “The Rules”, then it will give up and mark current entry as [New].


The Rules:
The url https://mozilla.org/video/foo/hi?q=1 will compare with https://mozilla.org/video/foo/hello?q=1 since the protocol://path1/path2/(except last path) are same, i.e. both have the same prefix https://mozilla.org/video/foo

The url https://mozilla.org/video/foo/hi?q=1 will NOT compare with https://mozilla.org/video/bar/hello?q=1 since the middle path /foo and /bar are different.

The url https://mozilla.org/video/foo/hi?q=1 will NOT compare with https://mozilla.com/video/foo/hello?q=1 since both hosts are different, i.e. https://mozilla.org not equal to https://mozilla.com.

The reasons how this rules has been choosen is because of the valuable comparison of query string/headers between 2 URLs most likely target on filename/last path with the same host and middle path. You can imaging that youtube.com/video/a.mp4 shouldn’t diff with youtube.com/audio/b.m4a, instead youtube.com/video/a.mp4 should diff with youtube.com/video/b.mp4 as possible. But I added a tick button called ‘Diff only if host same’ (i.e. as long as both hosts are same) to allow youtube.com/video/a.mp4 and youtube.com/audio/b.m4a to diff. If compare google.com with facebook.com, it doesn’t useful in most cases since their difference is big, so no support to diff different hosts.


Some Features:
  1. Click the [Diff] URL entry to reveals the current and previous entry URL. You can copy the URLs by click to select and Ctrl+C.
  2. Click the [Diff/Same/New/] URL entries to expands if not enough space of height.
  3. Click the Post data and headers entries to open new window to show the [prev][diff][current] side by side comparison.
  4. Hover the top bar buttons to popup functionality tooltip.
  5. Status other than 200 and Method other than GET will highlight as bold for easier to spot on.
  6. Click "Diff" button to manually diff the text you want, or direct edit the fields on popup window then click "Diff" button to diff.
  7. Tick "All Tabs" checkbox to combine all tabs traffic. It also useful to see traffic if certain site block inspector.

Todo:
You might noticed the above rules are not yet perfect, it's not time-awareness for same URL pattern, i.e. the multiple same pattern of previous URL get chosen without order by time. I already has solution to solve this but no time to complete it.

Troubleshoot:
You should visits Add-ons settings page at about:addons , then select "Check for Updates" or "Update Add-ons automatically" to get latest patch.

Privacy Concerns:
No data send to external ip, all data diff in web browser side only. This Firefox extension is zip and plain text, Mozilla staff and everyone can review my code and report abuse to Mozilla if something went wrong.

Thanks, and feel free to buy me a coffee :p - https://www.paypal.me/limkokhole
评分 3.7(1 位用户)
登录以评价此扩展
目前尚无评分

已保存星级评分

5
2
4
0
3
0
2
0
1
1
阅读全部 3 条评价
权限与数据详细了解

必要权限:

  • 访问您在所有网站的数据
更多信息
附加组件链接
  • 主页
  • 用户支持网站
  • 支持邮箱
版本
3.5
大小
73.21 KB
上次更新
6 年前 (2020年1月21日)
相关分类
  • 网页开发
  • 其他
许可证
Mozilla 公共许可证 2.0
版本历史
  • 查看所有版本
添加到收藏集
举报此附加组件
支持这位开发者

此扩展的开发者寻求您的小小捐助以支持其持续发展。

我要捐款

3.5 的发布说明
Recent versions of Firefox break my extension which not expand url when click on truncated long url. (Can test in YouTube stream url).
limkokhole 制作的更多扩展
  • 目前尚无评分

  • 目前尚无评分

  • 目前尚无评分

  • 目前尚无评分

  • 目前尚无评分

  • 目前尚无评分

转至 Mozilla 主页

附加组件

  • 关于
  • Firefox 附加组件博客
  • 扩展工坊
  • 开发者中心
  • 开发者政策
  • 社区博客
  • 论坛
  • 报告缺陷
  • 评价指南

浏览器

  • Desktop
  • Mobile
  • Enterprise

产品

  • Browsers
  • VPN
  • Relay
  • Monitor
  • Pocket
  • Bluesky (@firefox.com)
  • Instagram (Firefox)
  • YouTube (firefoxchannel)
  • 隐私
  • Cookie
  • 法律

除非另有注明,否则本网站上的内容可按知识共享 署名-相同方式共享 3.0 或更新版本使用。