网络应用及分类

BS架构:Browser/Server
    web应用的客户端不需要安装以及升级维护
    跨平台
    较方便
CS架构:Client/Server
    客户端应用则需要每个客户端安装和升级
    一种系统对应开发一种客户端
    资源下载在客户端,调用快

web应用访问过程

  1. 浏览器输入网址:本机:localhost;外部:域名/主机名
  2. 取出网址中的域名,查找最近的DNS(域名服务器),找到域名对应的IP
  3. 浏览器向ip:port端口发起连接
  4. 连接成功后向服务器发送页面请求,访问服务器的web server
  5. 浏览器收到服务器的相应,显示。打开一个网页不止一个请求
  6. 断开连接,结束访问

Fidder抓包

抓包操作

fiddler操作:

file-->capture traffic:捕捉流量:打钩表示捕捉
左边列表右键点击:remove-->all sessions :移除所有的会话数据

抓包前先清除浏览器缓存

打开浏览器--工具菜单--internet选项--常规--删除
--全选后确定删除--应用
删除掉了所有浏览器的浏览记录和历史临时文件

开始抓包(报文):

1、勾选 file-->capture traffic
2、在浏览器中访问一个网站
3、在fiddler中会看到抓到的包
4、去掉file-->capture traffic勾选停止抓包

查看包内容

1、左边窗口选中一个包
2、右上选择 inspectors----raw(原始的请求数据)
3、右下选择raw(原始的响应数据)

Fiddle过滤

show only the follow hosts
localhost;127.0.0.1;(本机ip)
只抓这几个主机的消息包

用Fidder自己发请求

composer
可以自由的组一个包(请求报文),发给服务器,验证返回结果正确性
类似于做接口测试
接口测试可以测试到很多系统测试做不到的场景(用例)

HTTP响应码

  报文内容释义

    请求报文

    响应报文

    URL

抓包的作用

  • 抓包可以从功能测试的角度检查传输数据的正确性;
  • 抓包可以了解传输的数据协议格式和内容,辅助接口测试、性能测试;
  • 抓包在安全性测试中可以了解敏感数据是否加密,如登录密码等;
  • 抓包可以让我们方便理解整个系统;
  • 抓包对于测试最重要的作用是可以判读缺陷发生在客户端还是服务器。

理解WEB系统的更多相关文章

  1. 高性能web系统的架构和系统优化

    07年毕业一直都在软件公司,14年来到一个互联网公司,给我的感受,区别主要在于: 软件公司需求相对稳定,能够按照计划按部就班的去实施,互联网公司需求相对来说不稳定,上线比较着急,大部分都是小迭代更新, ...

  2. 基于springboot搭建的web系统架构

    从接触springboot开始,便深深的被它的简洁性深深的折服了,精简的配置,方便的集成,使我再也不想用传统的ssm框架来搭建项目,一大堆的配置文件,维护起来很不方便,集成的时候也要费力不少.从第一次 ...

  3. 理解Web应用程序的代码结构和运行原理(3)

    1.理解Web应用程序的运行原理和机制 Web应用程序是基于浏览器/服务器模式(也称B/S架构)的应用程序,它开发完成后,需要部署到Web服务器上才能正常运行,与用户交互的客户端是网页浏览器. 浏览器 ...

  4. Java Web系统架构概览

    大型网站系统架构的演进都是随着业务增长不断演进,所有的出发点都是为了满足业务需求.最初访问量下,功能简单时,单体软件可以解决所有问题:后来访问量逐渐增大,功能愈加丰富,此时单体软件的架构逐渐成为开发和 ...

  5. web系统是否要前后端分离?

    开发一个web管理系统,是否要采用如今流行的前后端分离模式? 首先要从为什么会出现前后端分离说起,前后端分离的目的. 1.让前端工程师(前端)和后端工程师(后端)们能够更加专注于自己的领域 传统的开发 ...

  6. 深入理解 Web 协议 (三):HTTP 2

    本篇将详细介绍 HTTP 2 协议的方方面面,知识点如下: HTTP 2 连接的建立 HTTP 2 中帧和流的关系 HTTP 2 中流量节省的奥秘:HPACK 算法 HTTP 2 协议中 Server ...

  7. 干货 | 亿级Web系统负载均衡几种实现方式

    一个执着于技术的公众号 负载均衡(Load Balance)是集群技术(Cluster)的一种应用技术.负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力.目前最常见的负载均衡应用是Web ...

  8. (系统架构)标准Web系统的架构分层

    标准Web系统的架构分层 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求的不同,不一定每一层 ...

  9. Web系统大规模并发——电商秒杀与抢购

    电商的秒杀和抢购,对我们来说,都不是一个陌生的东西.然而,从技术的角度来说,这对于Web系统是一个巨大的考验.当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要.这次我们 ...

随机推荐

  1. 【Python 实例】面向对象 | 按逗号分割列表

    [Python 实例]面向对象 | 按逗号分割列表 题目: 按逗号分割列表 应该得到如下结果: ["xx"],["xx"],["xx"] 解 ...

  2. @RequestMapping 参数详解

    引言: 前段时间项目中用到了RESTful模式来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为applicatio ...

  3. 理解HTTP的POST和PUT的区别

    1.HTTP Methods HTTP Methods GET POST PUT HEAD DELETE PATCH OPTIONS GET is used to request data from ...

  4. 痞子衡嵌入式:了解i.MXRTxxx系列ROM API及其与i.MXRT1xxx系列的差异

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRTxxx系列ROM API设计细节. 痞子衡之前写过两篇文章 <利用i.MXRT1xxx系列ROM提供的FlexSPI ...

  5. Linux安装配置PHPmyadmin

    进官网下载zip安装包 wget https://files.phpmyadmin.net/phpMyAdmin/5.0.1/phpMyAdmin-5.0.1-all-languages.zip 安装 ...

  6. 每日一道 LeetCode (10):搜索插入位置

    每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...

  7. Python实现迪杰斯特拉算法

    首先我采用邻接矩阵法来表示图(有向图无向图皆可) 图的定义如下: class Graph: def __init__(self, arcs=[]): self.vexs = [] self.arcs ...

  8. 吐血整理:二叉树、红黑树、B&B+树超齐全,快速搞定数据结构

    前言 没有必要过度关注本文中二叉树的增删改导致的结构改变,规则操作什么的了解一下就好,看不下去就跳过,本文过多的XX树操作图片纯粹是为了作为规则记录,该文章主要目的是增强下个人对各种常用XX树的设计及 ...

  9. Vue Elementui 表单必填项和非必填项label文字对齐的简单方式

    1. 不好的方式 很长时间以来都是用改写form-item样式来使得必填项和非必填项保证label对齐,这样需要改写系统样式,还要在相应的item上引用,代码量增多,示例如下(不推荐) <tem ...

  10. LeetCode 763划分字母区间 详解

    题目详情 字符串 S 由小写字母组成.我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段.返回一个表示每个字符串片段的长度的列表. 示例 1: 输入: S = "ab ...