当前位置:首页 > 技术文章 > 正文内容

web开发浏览器抓包分析(浏览器f12抓包)

arlanguage3个月前 (01-31)技术文章33

在webb开发中调试是非常重要的,学会调试页面代码能很快的找出开发中各种问题,WEB通讯主要就是通过各种代码和形式最终构造出一段带有目标主机,请求文件路径和请求内容等的字符串(称为请求报文),然后将这个字符串送到目标主机中处理,目标主机再返回一段字符串(称为响应报文)给客户端(这里一般就是浏览器)

我们可以用一些工具监听请求报文的路过并记下它们,一般浏览器都会有一份监听结果,例如在Chrome浏览器开发者工具的Network选项卡中,几乎所有请求都被它列了出来,点击请求记录还会在内容的右侧显示这个请求的报文内容

  1. f12 打开开发者工具

  2. 或者

  3. 一个比常用的面板如下





  4. 但这里显示的请求内容和响应内容并不是原来的模样,是被它分解过的,比如请求报文中并不带有请求行(当然其实概要里面有相关信息),你要查看原样的报文还是要用别的工具

  5. 一般情况下用浏览器的开发者工具都已经足够,它也算是抓下了HTTP的请求数据包和响应数据包给你分析呀

  6. 其中上图中左边有很多请求记录,红色的就是出了错的,没有成功请求到结果的,从地址上看它应该是请求的片js代码下来,但是失败后应该会造成某部分UI功能缺失,从命名上看它是allmobilize.min.js所以估计移动端访问会明显受影响

  7. 这里分享一下我在这方面调试经常遇到的响应报文状态码(对应上图中请求概况的Status Code)

  8. 200

    请求成功,这个大部分人都认得了

  9. 304

    这个状态码下在Response选项卡里面是不会有响应报文内容的.

    它代表文件没有修改,一般请求JS,CSS和图片等静态资源时容易遇到这个

    请求时浏览器发现自己的缓存里请求过一次这个JS文件,然后就先告诉服务器"我有这个文件,是XXXX时候发给我的"

    服务器拿着这个时间去比较了一下服务器上的文件最后修改时间然后回复说"这个文件在XXXX时间点之前修改的,在XXXX之后并没有修改到,所以你的文件是最新的",大概这样一个互相通讯的过程

    于是浏览器就决定从自己的缓存里取出这个文件,就免得服务器重新读取整个JS文件将一大片JS代码发送回客户端

    这样就节省了数据传输量,而且服务器也能更快速地结束本次会话去迎接下一个请求

  10. 500

    服务端出错,这个出错其实很抽象,只说是服务端出错,但经验浅薄的程序员一般会认为是apache/nginx这些服务器出错,其实也可能是所运行的程序出错,比如PHP,ASP.NET,Java,Python和Ruby这些出错都可以出现500错误,具体不详解

  11. 302

    重定向,这个状态码也不会有响应报文内容,它只返回了一堆响应头回来,在响应头中指定了一个网址要求客户端转向请求这个地址,但是注意AJAX请求是不会自动重定向的,而是要自己写代码判断状态码是否为301,是就去请求...

  12. 301

    也是重定向,但它是永久重定向,服务端返回这个状态码一般的意思是说"以后这件事情不要再找我这个网址了,你只要找另一个网址就好了,本网址即将废弃"的意思

    其实遇到的频率也不会很高

  13. 这里并不是要具体讲HTTP协议的内容

    请求分类筛选

  • 比如下图中点XHR那个按钮意思是把所有ajax请求都显示出来,非ajax的请求都不显示



  • 平时我们调试时在All请求里都是全部请求记录的,有时候太多太混淆难以辨认了,所以应该选择相应的请求分类,多数我们都是去选择XHR,因为我们要调试ajax请求的数据和响应数据确认返回是否有误,看看界面为什么出了问题

  • 而点击Other这个选项意思是筛选其它的请求,什么是其它的请求呢?一是失败了的请求,二是不在前面那些选项里的请求,比如301,302,400,401,404和500那些



扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1530.html

标签: nginx asp.net
分享给朋友:

“web开发浏览器抓包分析(浏览器f12抓包)” 的相关文章

分享一段PHP代码的加密扩展 分享一段php代码的加密扩展怎么弄

介绍一个简洁、高性能、跨平台的 PHP7 代码加密扩展特点简单快速,经实测,几乎不影响性能兼容 OPcache、Xdebug 等其他扩展支持 Linux、macOS、Windows 等系统兼容 Apache、Nginx + PHP-fpm、命令行等运行模式加密算法较简单,这是出于速度考虑,但仍不易解...

C# 实现高并发 Web 应用的性能优化秘籍

在现代的互联网应用中,尤其是大型 Web 应用,性能和可扩展性成为了核心竞争力。随着用户访问量和数据量的增大,高并发处理成为了系统稳定性和响应速度的关键因素。无论是电商平台、社交网站还是 SaaS 应用,如何应对海量用户的同时访问,确保系统高效运转,已经成为了技术人员面临的重要挑战。C# 和 ASP...

linux上将大文件切割成小文件之split命令

说明:很多场景需要拷贝或传输文件时,如果我们需要拷贝的文件太大的话,就需要想办法将其分成小个文件进行拷贝,然后载重新合并。今天介绍 split 命令格式:split [OPTION] [INPUT [PREFIX]]一、压缩并切割使用tar命令进行压缩,使用split进行切割实例:# 压缩 ]# t...

nginx入门——web服务器(四)

我们先来认识一下web服务器主要功能。处理哪些URL请求怎么处理这些URL请求下面我们主要针对这两个功能来进行讲解。一、设置虚拟服务器在http上下文中用server指令定义虚拟服务器,以下是一个基本的结构:http { server { # Server上下文配置...

linux和nginx,https配置实战精辟总结

文章目录前言1.linux服务器常用安装:1.1通过yum安装rz和sz命令:1.2 yum安装docker:2. nginx安装:2.1 nginx配置文件:2.2 服务配置https文件:2.3 总结3.结尾:前言现在我们如果自己想弄点东西,需要买自己的云服务器、域名,整一个https的域名进行...

开源|维易CMDB详解之安装部署及常见问题处理(转载37丫37)

本文内容转载自大佬37丫37的运维咖啡吧,有兴趣的朋友可以关注一下他!之前介绍过一个灵活多变功能强大的开源CMDB系统,设计精巧,可玩性高,经过一段时间的深度使用,发现了许多可取之处,无论是构建系统内部的资产管理数据库,还是学习它的设计方式都有不少的可取之处,接下来我准备写一系列的文章来系统的介绍一...