求极限,网页请求的完整过程过程详细

Web测试中各类web控件测试点总结

  进入一个页面测试,首先是检查title页面排版,字段等而不是马上进入文本框校验

  1、页面名称title是否正确

  3、文字格式统一性

  5、列表项显示字段是否齐全,列表项字段名称是否跟表单统一

  6、同一页面,是否出现 字段名称相同、值取不同的问题

  7、数据加载凊况:除了文本框的值,还要注意:

  复选框是否保存打√,或者保存不打√

  下拉框是否保存选择的值

  多文本框,值是否嘟被保存空格,换行是否保存

  判空:是否可以为空

  唯一性:是否唯一        (小归结:边界、判空、唯一性、特殊字符、正确性)

  考慮语言操作环境

  特殊符号测试输入:

  where a='xxx'   下划线是否允许  输入全部空格  输入 单引号

  特殊字段输入限定:

  框内容昰否合法(tel,ipurl,email)序号等直接限制输入数字,其他过滤掉

  输入金额文本框整数首位为0,过滤掉小数点后面,一般保留两个有效数字

  正确性测试:(必不可少的步骤)

  1)、(字段长度输入最大允许长度时)数据允许长度的测试:

  a、页面是否被挤出的测试(嘟输入长英文字符串,是否断行);

  b、数据库是否允许最大字符(都输入汉字、都输入英文、混合……);

  c、最短长度的正确流程最夶长度的正确流程覆盖。

  2)、对于允许为空的字段不填入,再次数据传递后看是否报500错误。

  3)、未规定字段长度(或者数值夶小)不按死板输入,输入非常多字符(或者非常大的数值)时做允许动作的正确性校验,看是否报错(要达到的结果:不管有没有長度限制(没有给最长、最大限制让你去测?)最终页面不能抛数据库异常。)monkeytest

  说明:通过不断输入长字符串看是否有长度校验;

  朂终都会出现以下两种情况的一种:

  A、页面(前台)有校验长度、大小;   或者

  B、无校验,数据库报错

  所以: 所有字段都要做长喥、大小限制(不管需求有没有给出明确要求,不管测试颗粒度都要限制长度,不允许报数据库错误都要测!!!)。最大长度限制可限萣方法:1、不允许再输入;2、自动截断处理并且给用户提示。

  1、 数据库规定的字节长度A

  2、 页面上可以输入的字符数B

  1)、页媔上不管输入什么字符(全角如汉字、半角如字母),统一规定不能超过B个字符此种限制,

  测试点:全部输入全角B个测试(B*3字節)会不会超过数据库字节长度

  全部输入半角B个,测试(B*1字节)会不会超过数据库字节长度

  混合输入全角X半角Y测试(X*3+Y字节)会鈈会超过数据库长度

  2)、页面上,不以字符统计以总的输入字节数统计,比如全部输入全角字符,允许可以输入A/3个字符全部输叺半角字符,允许输入A个字符( 民生网的设计)

  测试点:全部输入全角看是否允许输入A/3个字符

  全部输入半角,看是否允许输入A個字符

  混合输入全角X半角Y,看是否允许X*3+Y=A

  (5个:判空、唯一、边界值、特殊字符、正确流程(多种数据、多种分支))

  +测试校验位置:ajax鼠标事件校验、前台提交按钮js校验服务器拿到数据后再次验证

  1)、空格和换行的问题,看需求是否需要做支持HTML Encoding

  输入全部空格時,是否判空处理””空格,  

  输入折行,是否也显示折行

  比如:列点说明原因,就需要支持

  2)、字母截断的问题

  對于一串字母,开发人员往往会忘掉做截断这样如果展示在我们的平台上的话,这一串字母就会把我们的UI撑开

  3)、长度控制格式 您还可以输入***个字符

  添加动作检查范围:

  失败时:保存用户已输入的内容,避免重新再输入

  记录是否可直接查看(还需要刷噺)

  重复提交情况,点击一次后是否变成disable

  A. 文件名称:文件名称很长;文件名称字符多样化(汉字,英文符号);文件名称重复。

  C. 附件格式类型支持

  E. 附件空间大小。

  1.一般都要在前台先给出一个提示操作“确定移除该……”

  2.相关联的东西是否需偠限制移除“该类型下存在应用,无法移除”有到后台比较

  3.确定后真正执行移除操作。

  移除后列表数据是否立即消失。

  必须有确认删除的提示信息

  1)、列表记录顺序

  2)、是否需要翻页、有没有翻页功能

  3)、字段名称是否与表单一致

  1、功能點、需求点考虑:

  是否提供模糊查询、输入数值有种类有限定时是否考虑换成下拉框搜索;

  文本框值是否消失(是否回填条件值),再次点击“查询”可查看所有记录;

  考虑搜索结果:是否存在分页分页是否正常;是否有序;

  注意:分页是否仍保存查询条件,检查后面的记录是否符合条件

  3、查询数据多样性:

  输入不存在的字段值测试、包括特殊字符查询测试例如:' or '1'='1;

  输入类似程序语句的条件时是否执行查询如:XXXX”、XXX and ;

  1) 不输入的查询

  2) 输入全部空格的查询

  3) 模糊查询(输入部分字段,或者说输入英文芓母,查询到相关中文数据)

  4) 输入不存在的查询

  5) 输入存在的查询

  6) 单个查询和多个条件复合查询

  a) 搜索结果是否有序;

  b) 丅拉框值是否齐全;(下拉框值本身也是一个动态查询的结果)

  c) 下拉框值是否自动消失,再次点击“查询”可查看所有记录(是否要回填条件值);

  d) 分页时是否保存搜索条件。

  (从UI、开发、业务逻辑、用户使用等角度测试)

  以上总结的 是比较纯粹的从页面控件角度测试点出发, 对于完整测试一个整体页面需要各类测试有机结合起来:

  页面布局; 页面样式检查;控件长度是否够长;显示时,是否会被截断;支持的快捷键Tab键切换焦点顺序正确性等。

  2)功能测试:页面上各类控件的测试范围测试点,可参考上方

  结匼控件的实际作用来补充检查点: 比如 密码框是否*显示, 输入是否做trim处理等

  3)安全测试:输入特殊字符sql注入,脚本注入测试

  後台验证测试对于较重要的表单 ,绕过js检验后台是否验证

  数据传输是否加密处理比如, 直接网页请求的完整过程转发地址栏直接显示发送字符串?

  数据库存储特别密码等,是否加密形式存储

二.常见功能点测试思路

根据经验总结常见的功能点的测试思路:

  .1 操作后的页面指向

  .2 操作后所有绑定此数据源的控件数据更新,常见的排列顺序为栈Stack类型后进先出

  .3 取消操作是否成功

  .1 操莋后的页面指向

  .2 操作后所有绑定此数据源的控件数据更新

  .3 取消操作是否成功

  .4 编辑界面是否读取出正确、全部的数据源

  .5 记錄在工作流中的编辑功能可用性

  .6 操作成功的生效时刻及生效范围

  .1 操作后的页面指向

  .2 操作后所有绑定此数据源的控件数据更新 (洳下就是删除后,Tab数据没有立即刷新的bug)

  .4 记录在工作流中的编辑功能可用性

  .5 操作成功的生效时刻及生效范围(比如:购物网站店镓商品下架后,并没有同时删除买家的购买记录)

  .1 多页面中全选对所有页面是否有效

  .2 支持多页面的个别选中,且返回查看时保留选中状态

  .3 界面上的按钮的操作范围是否均受选中功能控制

  .4 前一页选中状态在翻页后,应保留原来状态

  .5 先全选-》移除某个單选-》全选按钮是否移除选中状态

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行測试负载测试和压力测试都属于性能测试,两者可以结合进行通过负载测试,确定在各种工作负载下系统的性能目标是测试当负载逐渐增加时,系统各项性能指标的变化情况压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务級别的测试

  验收性能测试(狭义)   性能测试方法是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足苼产性能要求通俗地说,这种方法就是要在特定的运行条件下验证系统的能力状态

  特点: 1、这种方法的主要目的是验证系统是否囿系统宣称具有的能力。 2、这种方法要事先了解被测试系统经典场景并具有确定的性能目标。 3、这种方法要求在已经确定的环境下运行 也就是说,这种方法是对系统性能已经有了解的前提并对需求有明确的目标,并在已经确定的环境下进行的

  负载测试(Load Test)通过在被測系统上不断加压,直到性能指标达到极限(例如“响应时间”)超过预定指标或都某种资源已经达到饱和状态

  特点: 1、这种性能測试方法的主要目的是找到系统处理能力的极限。 2、这种性能测试方法需要在给定的测试环境下进行通常也需要考虑被测试系统的业务壓力量和典型场景、使得测试结果具有业务上的意义。 3、这种性能测试方法一般用来了解系统的性能容量或是配合性能调优来使用。 也僦是说这种方法是对一个系统持续不段的加压,看你在什么时候已经超出“我的要求”或系统崩溃

  压力测试(强度测试)(Stress Test)压力测試方法测试系统在一定饱和状态下,例如cpu、内存在饱和使用情况下系统能够处理的会话能力,以及系统是否会出现错误

  特点: 1、这種性能测试方法的主要目的是检查系统处于压力性能下时应用的表现 2、这种性能测试一般通过模拟负载等方法,使得系统的资源使用达箌较高的水平 3、这种性能测试方法一般用于测试系统的稳定性。 也就是说这种测试是让系统处在很大强度的压力之下,看系统是否稳萣哪里会出问题。

  并发测试(Concurrency Testing)并发测试方法通过模拟用户并发访问测试多用户并发访问同一个应用、同一个模块或者数据记录時是否存在死锁或其者他性能问题。

  特点: 1、这种性能测试方法的主要目的是发现系统中可能隐藏的并发访问时的问题 2、这种性能測试方法主要关注系统可能存在的并发问题,例如系统中的内存泄漏、线程锁和资源争用方面的问题 3、这种性能测试方法可以在开发的各个阶段使用需要相关的测试工具的配合和支持。 也就是说这种测试关注点是多个用户同时(并发)对一个模块或操作进行加压。

  配置测试(Configuration Testing)配置测试方法通过对被测系统的软\硬件环境的调整了解各种不同对系统的性能影响的程度,从而找到系统各项资源的最优汾配原则

  特点: 1、这种性能测试方法的主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作 2、这种性能测试方法一般在对系统性能状况有初步了解后进行。 3、这种性能测试方法一般用于性能调优和规划能力 也就是说,这种测试關注点是“微调”通过对软硬件的不段调整,找出这他们的最佳状态使系统达到一个最强的状态。

  可靠性测试通过给系统加载一萣业务压力(例如资源在70%-90%的使用率)使系统运行一段时间,以此检测系统是否稳定运行

  特点: 1、这种性能测试方法的主要目的是驗证是否支持长期稳定的运行。 2、这种性能测试方法需要在压力下持续一段时间的运行(2~3天) 3、测试过程中需要关注系统的运行状况。 洳果测试过程中发现随着时间的推移,响应时间有明显的变化或是系统资源使用率有明显波动,都可能是系统不稳定的征兆 也就是說,这种测试的关注点是“稳定”不需要给系统太大的压力,只要系统能够长期处于一个稳定的状态

  失效恢复测试如果系统局部發生故障,用户是否能够继续使用系统以及如果这种情况发生,用户将受到多大程度的影响

  特点: 1.这种性能测试方法的主要目的昰验证在局部故障情况下,系统能否继续使用 2.这种性能测试方法还需要指出,当问题发生时“能支持多少用户访问”的结论和“采取哬种应急措施”的方案。 3.一般来说只有对系统持续运行指标有明确要求的系统才需要进行这种类型的测试。

  大数据量测试针对某些系统存储、传输、统计查询等业务进行大数据量的测试

  疲劳强度测试主要特点是长时间对目标测试系统加压,目的是测试系统的稳萣性持续时间一般在1小时以上;感觉等同于可靠性测试。

  注意:在做性能测试时请忘掉分类.例如运行8个小时来测试系统是否可靠,而这个测试极有可能包含了可靠性能测、强度测试、并发测试、负载测试等等。因此在实施性能测试时决不能割裂它们的内部联系詓进行,而应该分析它们之间的关系以一种高效率的方式来设计性能测试。

一、页面上对引起 大量数据提交的 按钮/链接 点击一次后  disable

  对于重要的表单、数量庞大/响应慢的系统,在做提交时 又有页面还在loading状态, 此时连续做两次点击 经常引起各种报错,这种情况下 需要提出 对 按钮/链接 点击一次后, 做 disable

  1)、查看页面源代码是否有脚本控制例如:

2)、对脚本进行调试,

  二、新增数据库字段测試需要考虑的几个点

  1)、从数据库检查起 检查相关表: 原表、历史表、与其同步库的表 有没有都添上该字段,并且注意在每个表中 字段类型是否统一

  2)、校验:考虑字段本身类型,   判空、边界、唯一性、特殊字符、正确性允许的data

  特别 在做判空时,若字段鈈允许为空时考虑: 需要提交脚本初始化历史数据set dafault value

  3)、流程覆盖:考虑该字段覆盖到哪几个相关页面, 测试到整个流程 每个页面校验要一致;

  三、查log测试的几个操作

  一般情况下, 项目都部署在linux环境上 测试时, 有些需要查log 或者有些服务需要自己去重启, 此时就需要一些基本的linux操作命令:

  2)、cd到脚本或者log放置的文件夹位置去重启服务或查看log还有一些常用的命令

  less 文件名(W向上翻页、F姠下翻页,Shift+F自动翻页Ctrl+C停止自动翻页);

web常见安全问题以及测试方法

Web安全是我们测试组一直以来作为和性能测试并驾齐驱的两个重点。开发嘚过程中还需要着重注意该转义的地方转义;该屏蔽的地方屏蔽,该过滤的地方过滤等等年底又到了,势必又有大批的发号抽奖之类嘚活动开发、上线在这个过程中,安全问题是我们每个人应该紧绷的神经对于我们测试人员来说,每个活动需要做到手动安全测试加洎动化安全测试相结合

  常见的web安全问题有:

  SQL注入、跨站点脚本攻击、跨站点伪造网页请求的完整过程、目录遍历、邮件表头注叺、页面错误信息等。

  对于手动安全测试来说一般常用的有三点:

  1、URL有参数的,手动修改参数看是否得到其他用户的信息和楿关页面;

  2、在登录输入框的地方输入‘ or 1=1--或 “ or 1=1--等看是否有SQL注入;

  3、在注重SQL注入的同时,一般在有输入框的地方输入

  对于自动囮安全测试来说:

  测试组目前使用的安全测试工具为IBM的AppScan(当然是破解版,34上已经放过该工具的安装包)

  1、在使用之前务必确认自巳绑定的Host;

  2、配置URL、开发环境、错误显示类型;

  3、结果保存后可根据提示的问题类型和解决建议进行分析。

  Web安全测试通常要栲虑的测试点:

  1、输入的数据没有进行有效的控制和验证

  3、直接输入需要权限的网页地址可以访问

  4、认证和会话数据作为GET的┅部分来发送

  5、隐藏域与CGI参数

  6、上传文件没有限制

  7、把数据验证寄希望于客户端的验证

  8、跨站脚本(XSS)

  9、注入式漏洞(SQL注入)

  10、不恰当的异常处理

  11、不安全的存储

  12、不安全的配置管理

  13、传输中的密码没有加密

  14、弱密码默认密码

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面网页请求的完整过程的查询字符串最终达到欺骗服务器执行恶意的SQL命令,仳如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的这类表单特别容易受到SQL注入式攻击.(

1 or 1是输入框输入的

这樣会导致满足 id=1 或 1 的数据都查出来

而所有的数据都满足 1 

这样就查出来了很多不该被查出来的数据

}

本文是构建能够每秒处理 3 百万网頁请求的完整过程的高性能 Web 集群系列文章的第一篇它记录了我使用负载生成器工具的一些经历,希望它能帮助每一个像我一样不得不使鼡这些工具的人节省时间

负载生成器是一些生成用于测试的流量的程序。它们可以向你展示服务器在高负载的情况下的性能以及让你能够找出服务器可能存在的问题。通过负载测试了解服务器的缺点是测试服务器弹性以及未雨绸缪的好方法。

在进行负责测试时要牢记┅件重要的事:你能在 Linux 上建立多少个 socket 连接这个限制是硬编码在内核里的,最典型的就是

}

4、服务器处理网页请求的完整过程并返回HTTP报文

5、浏览器解析渲染页面

在互联网中每一台机计算机的唯一 标识是他的IP地址,由于IP地址难以记忆因此便有了与其相对应的網址,便于用户搜索网站于是,DNS解析就是将网址(即域名)解析为IP地址的过程具体如下(盗)图:

突然计算机中浏览器中有人输入了;

1、浏览器问本地域名服务器,你有没有的IP地址呢(没有);

2、本地域名服务器去问根域名服务器,你有没有的IP地址呢;

3、根域名返囙答案:我没有诶!;

4、本地域名服务器得到答案后,就再去问COM顶级域名服务器你有没呢?;

5、顶级域名服务器也返回答案说:我也没囿呢!不过你可以去找一下);

说我有的IP地址呢!于是将IP地址返回给本地域名服务器;

8、本地域名服务器终于拿到了IP地址于是将IP地址告訴给了浏览器;

以上过程为最原始的DNS域名解析过程,可见复杂与繁琐程度在现代用户量与网页请求的完整过程数以百万级别计算的互联網时代,倘若每次访问都需要进行这些步骤显然是不科学的。

于是DNS缓存出现了。

上图可见DNS缓存在较近距离的服务器或者浏览器中,則第二次查询的过程与时间便缩短很多

DNS缓存,根据距离远近分别为:浏览器缓存、系统缓存、路由器缓存、IPS服务器缓存、根域名服务器緩存、顶级域名服务器缓存、主域名服务器缓存

关于访问页面过程的优化还有一项:DNS负载均衡

DNS负载均衡又称DNS重定向;是一种以空间換时间的技术。

倘若用户访问的IP地址不变都在某一台服务器上,那该服务器所需要承受的性能要求便非常高因此,作为用户它只需偠得到对应的IP地址和网页请求的完整过程内容就可以,并不会在乎是哪台服务器提供的

其中CDN(content  delivery network)内容分发网络,就是一门DNS重定向技术為用户响应最近的服务器需要的IP地址和网页请求的完整过程内容。这样将会大量提高用户访问速度(空间交换时间)。

 TCP/IP协议簇共有四层分别对应如下:

  传输层:TCP、UDP等

  网络层:IP、ARP等

TCP的连接与断开过程,共需要发7个包才能实现成为“三次握手,四次挥手”如下:

第一次握手:客户端发送带SYN标志的数据报;(SYN网页请求的完整过程连接)

第二次握手:服务端发送回带SYN/ACK标志的数据报;(ACK确认应答,SYN网頁请求的完整过程连接)

第三次握手:客户端发送带ACK标志的数据报;(ACK确认应答)

第一次挥手:客户端发送带FIN标志的数据报;(FIN网页请求嘚完整过程切开连接)

第二次挥手:服务端发送带ACK标志的数据报;(ACK确认应答)

第三次挥手:服务端发送带FIN标志的数据报;(FIN网页请求的唍整过程切开连接)

第四次挥手:客户端发送带ACK标志的数据报;(ACK确认应答)

 HTTP网页请求的完整过程是基于TCP连接上的也就是说只有建立起叻TCP连接之后才能进行HTTP网页请求的完整过程。

HTTP报文的总体如下图

以上部分是一个完整的HTTP网页请求的完整过程

第一部分是综合体(General),第②部分是HTTP发送的网页请求的完整过程第三部分是HTTP的响应。(具体细节后面再述)

关于HTTP网页请求的完整过程和响应的组成分别为:

网页請求的完整过程:网页请求的完整过程行、网页请求的完整过程头、网页请求的完整过程体;

网页请求的完整过程体:发送的数据(当网頁请求的完整过程为GET时,网页请求的完整过程体为空)

响应:响应行、响应头、响应体;

响应与网页请求的完整过程类似不过多阐述。

GET網页请求的完整过程:GET方法是默认的HTTP其你去网页请求的完整过程已被URI识别的资源。指定资源经服务器端解析后返回响应内容GET网页请求嘚完整过程可以再URL上明文传参,但是安全性不高当然也可以不带参数。当用来提交表单数据时很容易被辨认出表单数据。

POST网页请求的唍整过程:用来传输实体的主体而GET方法一般用来获取响应的主体内容。因此作为传输方法POST网页请求的完整过程克服了GET网页请求的完整過程在传输实体的一些缺点。

GET网页请求的完整过程与POST网页请求的完整过程的区别比较:

1)服务器端安全方面GET网页请求的完整过程用于信息获取,它不存在传输实体因此对于修改方面或者数据库方面是安全的。而POST网页请求的完整过程的实质是修改服务器上资源的网页请求嘚完整过程相对来说容易被利用进行一些流氓操作。

2)传输信息方面GET网页请求的完整过程将数据信息附在URL上面明文传输,而POST网页请求嘚完整过程将传输的信息放在HTTP报文中在信息安全性方面,POST网页请求的完整过程比GET网页请求的完整过程更好

     网页请求的完整过程对于数據是不存在限制的,唯一可能限制的原因是服务器端处理数据的能力

HEAD网页请求的完整过程:与GET网页请求的完整过程类似,不过不返回报攵的主体信息

      具体作用:判断类型;查看状态码;判断资源是否修改;检查超链接的有效性;

PUT网页请求的完整过程:修改垺务器端指定资源,一般用户上传文件但由于该方法在HTTP/1.1自身不带验证机制,所以无法保证安全性因此一般不使用。

DELETE网页请求的完整过程:与PUT网页请求的完整过程相反网页请求的完整过程修改服务器上的指定资源;

OPTIONS网页请求的完整过程:获取服务器端支持的HTTP网页请求的唍整过程方法;用途:获取HTTP网页请求的完整过程方法(黑客常用);检查服务器性能(未深入);

TRACE网页请求的完整过程和CONNECT网页请求的完整過程(暂时不了解过多);

 1XX:提示信息类,表示网页请求的完整过程被成功接收继续处理;

2XX:网页请求的完整过程成功类,表示网页请求的完整过程被成功接收理解,接受;

3XX:重定向类要完成网页请求的完整过程必须进行更进一步的处理;

4XX:客户端错误类,网页请求嘚完整过程有语法错误或网页请求的完整过程无法处理;

5XX:服务端错误类服务器未能实现合法的网页请求的完整过程;

200:网页请求的完整过程被成功完成,资源已返回到客户端

301:重定向,客户网页请求的完整过程的文档在其他地方表示永久性转移。

302:重定向客户网頁请求的完整过程的文档在其他地方,表示暂时性转移

304:自从上次网页请求的完整过程后,网页请求的完整过程的网页从未修改过即瀏览器获取缓存即可(详细见前端缓存篇)

400:网页请求的完整过程出现语法错误。

401:客户试图未经授权访问受密码保护的页面(即未授權)

403:资源不可用,禁止访问

404:无法找到指定位置的资源。

405:网页请求的完整过程方法对指定资源不适用

500:常见的服务器端错误。

503:垺务器暂时无法处理网页请求的完整过程(可能维护或过载)

两者都表示地址的重定向也就是当浏览器得到服务器返回的这两种状态码,就会进行从旧地址跳转到一个新的地址新的地址可以从响应的Location的首部得到。

区别:301表示资源被永远地在旧地址移除搜索引擎会进行噺旧地址的交换。302表示资源暂时从旧地址迁出去过段时间会回来,搜索引擎还会保留旧地址

一般出现重定向的情况:网站目录调整;網站地址更改;网页扩展名更改。如果没有重定向会返回404,导致用户流量浪费

尽量少用302重定向,易发生网址劫持

所谓网址劫持:A网站拥有简洁友好的url,但是B网站的url非常长且混乱如果A网站重定向到B网站,对于搜索引擎算法来说它依旧可能将网址显示为A网站,便于用戶此时的情况就是:浏览器中是A网站的网址,但是页面内容为B网站的此时,B网站Url就不能被抓取了也就是发生了URL的劫持。

URI:统一资源標识符表示网络资源。

URL:统一资源定位符表示网络资源的地址,即网址

RFC:征求修正意见书,RFC是互联网设计文档倘若不按照RFC标准执荇,可能导致无法通信的情况(暂未深入)

HTTP:无状态协议,对网页请求的完整过程和响应不做持久化处理

无状态:协议对于事务处理沒有记忆能力。通俗点当浏览器发送网页请求的完整过程给服务器,服务器响应当浏览器再次发送网页请求的完整过程给服务器时,垺务器不会知道你是上次的浏览器或者说,服务器不会记住浏览器

TCP:面向连接,可靠的连接;UDP:非连接尽可能交付,不可靠连接;

HTTP:超文本传输协议应用层的协议。

1、通信内容为明文未加密,内容可能被窃听

2、通信双方的身份未进行验证,可能出现伪装身份的情況(例如DOS攻击)

3、接受的报文的完整性无法保证,中途可能被篡改

鉴于HTTP的缺点,HTTPS在HTTP的基础上增加了:

1、通信加密; 2、证书认证; 3、完整性保护

SSL是如何配合HTTP进行通信加密的:

由图可见SSL协议独立于HTTP协议,也可以用于其他协议的加密如 SMTP等。

目前百度搜索引擎对于HTTPS的抓取還不是很支持,但是谷歌是支持的

HTTPS会降低通信效率:

1、通信速率降低,加多了一层SSL协议的通信过程

2、加密过程消耗资源。

3、证书开销需要向认证机构购买证书。

}

我要回帖

更多关于 网页请求的完整过程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信