行业动态

测试开发培训之HTTP基本原理

  一、URL和URI的区别

  URI全称:Uniform Resource Identifier,统一资源标识符。

  URL全称:Universal Resource Locator,统一资源定位符。

  URL是URI的子集,也就是说每个URL都是URI,但不是每个URI都是URL。

  浏览器中我们输入的网址就是URL/URI,URL用来指定访问的方式,包括访问协议http/https、访问路径(/根目录出发)和资源名称,通过URL链接可以在互联网上找到资源。

  一般的网页链接我们既可以称为URL,也可以称为URI。

  二、超文本

  超文本:hypertext,浏览器打开的网页就是超文本解析而成的,其网页代码就是HTML代码,里面包含一系列的标签,浏览器解析标签后,便形成了我们看到的网页,而网页的源代码HTML就是超文本。

  三、HTTP和HTTPS区别

  1、HTTP的全称:Hyper Text Transfer Protocol,中文名称:超文本传输协议,HTTP协议是用于从网络传输超文本数据到本地浏览器的传送协议,能保证高效而准确低传送超文本文档。HTTP是由万维网协会和Internet工作小组IETF共同合作指定的规范。

  2、HTTPS的全称:Hyper Text Transfer Protocol Secure Socket Layer,是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,简称HTTPS。

  HTTPS的安全基础是SSL,因此通过它传输的内容都是经过SSL加密的,主要作用可以分为两种:

  第一种:建立一个信息安全通道来保证数据传输的安全;

  第二种:确认网站的真实性,凡是使用了HTTPS的网站,都可以通过点击浏览器地址栏的锁头标志来查看网站认证之后的真实信息,也可以通过CA机构颁发的安全签章来查询。

  四、HTTP请求过程

  在浏览器中输入一个URL后,浏览器向网站所在的服务器发送一个请求,网站服务器接收到亲球后进行处理和解析,然后返回对应的响应,接着传给浏览器,响应里包含了页面的源代码内容,浏览器在对其进行解析,再将网页呈现出来。

  打开F12可以查看到发送请求和响应的过程(访问百度为例,如下图)

  第一列Name:请求的名称。一般会将URL的最后一部分内容当作名称。

  第二列Status:响应的状态码。这里显示的200,代表响应正常,通过状态码,我们可以判断发送请求之后的是否得到了正常的响应。

  第三列Type:请求文档类型。这里的docunent,代表我们这次请求的是HTML文档,内容是一些HTML代码。

  第四列Initiator:请求。,用来标记请求是由那个对象或进程发起的。

  第五列Size:从服务器下载的文件和请求的资源大小。如果是从缓存中取得的资源,则该列会显示from cache。

  第六列Time:发起请求到获取响应所用的总时间。

  第七列Waterfall:网络请求的可视化瀑布流。

  

upfile1624245960470.png

  点击一个URL可以看到更详细的信息,如下图

  

upfile1624245981596.jpg

  五、请求

  请求由4个部分组成:请求方法(Request Method)、请求地址(Request URL)、请求头(Request Header)、请求体(Request Body)

  常用的请求方法:POST和GET请求

  GET请求中参数包含在URL里面,数据也在URL中可以看到,而POST请求的URL不会包含这些数据,数据都是通过表单形式传输的,会包含在请求体中。

  GET请求提交的数据最多只有1024个字节,而POST方式没有限制。

  一般来说,登录时需要提交用户和密码,其中包含了敏感信息,使用GET方式请求的话,密码就会暴露再URL里面,造成密码泄露,所以登录最好用POST请求方式,上传文件,由于文件比较大,也会用到POST请求方式。

  六、请求的网址

  既是统一资源定位符URL,它可以唯一确定我们想请求的资源。

  七、请求头

  请求头用来说明服务器姚之用的附加信息,比较重要的信息由Cookie、Refer、User-Agent等

  Accept:请求报头域,用于指定客户端可接受哪些类型的信息。

  Accept-Language:指定客户端可接受的语言类型。

  Accept-Encoding:指定客户端接受的内容编码。

  Host:用于指定请求资源的主机IP地址和端口号,其内容为请求URL的原始服务器或者网关的位置。

  Cookie:也常用复数形式Cookies,这是网站为了辨别用户进行会话跟踪而存储在用户本地的数据。Cookies里面由信息标识了我们所对应的服务器的会话,每次浏览器在请求该站点的页面时,都会在请求头中加上Cookies并将其发送给服务器,服务器通过Cookies识别出我们自己,并将查出当前的状态返回给页面

  Referer:此内容用来标识这个请求是从哪个页面发过来的,服务器可以拿到这一信息并做响应的处理。

  User-Agent:简称UA,它是一个特殊的字符串,可以使用服务器识别客户使用的操作系统及版本、浏览器版本信息。

  Content-Type:也叫互联网媒体类型或者MME类型,用来表示具体请求中的媒体类信息,如:text/html 代表HTML格式,image/gif代表GIF图片,application/json 代表的JSON类型。

  八、请求体

  请求体一般承载的内容时POST请求中表单的数据,而对于GET请求,请求体为空

  例如:Content-Type为pplication/x-www-from-urlencoded,表示表单的数据形式,application/json表示提交序列化JSON格式数据,multipart/from-data表示表单文件上传,text/xml 代表xml数据

  九、响应

  响应由服务端返还给客户端,可以分为三个部分:状态码(Response Status Code)、响应头(Response Headers)、响应体(Response Body)。

  状态码:表示服务器的响应状态,200表示服务器正常响应,404表示页面未找到,500表示服务器内部发生错误。

  1xx 信息提示    这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。

  2xx 成功    这类状态代码表明服务器成功地接受了客户端请求。

  3xx 重定向    客户端浏览器必须采取更多操作来实现请求。

  4xx - 客户端错误   发生错误,客户端似乎有问题。

  5xx - 服务器错误   服务器由于遇到错误而不能完成该请求。

  响应头:包含服务器对请求的应答信息,如:Content-Type、Server、Set-Cookie等。

  Date:标识响应产生的时间

  Last-Modified:指定资源的最后修改时间

  Content-Encoding:指定相应内容编码

  Server:服务器信息

  Content-Type:文档类型

  Set-Cookie:设置Cookies,响应头中的Set-Cookie告诉浏览器需要将此内容放在Cookies中,下次请求携带Cookies请求。

  Expires:指定响应的过期时间,可以使代理服务器或者浏览器将加载的内容更新到缓存中。

  响应体:响应的正文数据都在响应体中。


        以上是关于软件测试的知识,由多测师亲自撰写,全网独家提供!  https://www.duoceshi.com/

新闻资讯

联系我们

联系人:王女士

手机:17727591462

电话:0755-21072941

邮箱:hr@duoceshi.com

地址: 广东省深圳市龙华区龙华街道清湖和平路62号优鼎企创园D栋201室,202室

用手机扫描二维码关闭
二维码