URL和HTTP协议(无图片)
URL。。。。。。
示例:
http://localhost/phpwind/searcher.php?keyword=phpwind&type=thread
协议部分:一般是指URL中第一个冒号之前的部分。
web系统中常用的协议有:http
https
ftp
smtp
javascript
about
oracle
mysql
属于必选部分。
域名:就是要访问的web服务器的地址(域名或者IP地址)
属于必选部分。
端口:是跟在域名之后,格式一般是:
域名:端口
一般来说,web服务器都会指定自身提供服务的端口(监听端口)。
然后用户要访问服务器,必须指定对应的端口。
通常来说,常用的协议都有默认的服务端口,如果服务器所提供的服务端口和协议的默认端口一致的话,则用户可以不用输入端口。
常见的协议和对应的默认端口有:
http 80
https(ssl) 443or8443
ftp 21
ssh 22
smtp 25
pop3 110
oracle 1521
mysql 3306
sqlserver 1433
属于必选部分。
路径:path,一般是端口之后的/开始的部分,包含/。
一般来说,我们访问的服务器都是服务器所指定的某一个文件夹(容器)内的资源。
path就是用来指定要访问的资源位于服务器的容器下的路径。(从容器开始计算,不包括容器本身的路径。)
示例:/phpwind/searcher.php
属于必选部分。
服务器一般都有一个index的设置,如果访问的是服务器的文件夹,则会自动访问文件夹下的index文件
URL地址参数:一般是以?拼接在path之后,通常代表使用get方法传递给服务器的数据。
URL地址参数通常是键值对应的。即键名=键值,不同的键值之间使用&符号进行拼接。
属于可选部分。
PS:在很多场合,URL地址参数会被归结为path部分。
HTTP协议。。。。。。
http协议本身是一种基于请求(request)和响应(response)的协议。
http request:http请求一般是由三个部分构成:request line、request header、request body
·request line:一般是指request包中第一行内容。通常包含以下信息:request method、request path、protocol/version
示例:GET /phpwind/ HTTP/1.1
·request method:请求方法,常用的http请求的方法有:get\post\put\delete\trace\head\options等。
目前使用最多的方法就是get和post。
默认的请求方法就是get。
一般来说,在HTML中,使用get方法提交的数据通常是以URL地址参数的方式进行拼装;使用post方法提交的数据一般是以request body的方式拼装。
在浏览器层面,对于URL地址的长度是有限定的(http是没有),因此一般大型数据都会使用post方法。
post对于数据类型的支持比get更好。
使用get方法获取的响应是会cache(缓存)。(这才是post为什么比get要安全的原因)
·request path:就是URL的path部分。
·protocol/version:协议和版本。
·request header:请求头,一般是指第二行开始到第一个空行结束的部分。主要是为了去完成通信的控制。
请求头一般都是键值对应的。格式为:请求头名称:请求头的值。
请求头的名称(类型)都是由http协议提前约定好,具有特定的通信效果的,一般不能自定义。
从性能测试角度,建议指定的信息头有:
Accept:用来告知服务器,客户端希望接受的数据类型。
User-Agent:用来告知服务器,客户端的一些环境配置信息。主要会影响到兼容性操作,session的建立等。
Accept-Encoding:告知服务器,本地是否支持解压缩,支持的压缩类型有哪些。
Content-Type:如果request body中有内容,则需要使用该信息头指定内容的数据类型(告知服务器)
·request body:请求主体。是指第一个空行之后的内容。
比如说get方法,一般来说body就是空的。
post方法才会产生body内容。
·http response:http响应,通常也是由三个部分构成:response line、response header、response body
·response line:响应行,通常就是响应数据包中的第一行,通常包含以下信息:protocol/version、response code、response message
示例:HTTP/1.1 200 OK
·response code:响应代码、又叫状态码。通常是用来标识服务器对于请求的处理状态(逻辑状态),和业务状态无关。
一般来说,状态码通常都是三位长度的十进制数字,一般都是通过首字母实现大的类型的区分。
·1xx:通常用来传递信息。
·2xx:典型的就是200,一般表示服务器对于请求进行了处理。表示正确。
PS:在性能测试过程中,一定要注意的就是逻辑状态是基本要求,同时要进行业务的校验。
·3xx:一般来说表示重定向。
一般来说301-303和307表示和URL地址有关的重定向。
304-306表示和缓存有关的重定向。
·4xx:一般表示处理错误,通常来说服务器是正常工作的。
常见的有:
403:权限(包含操作系统层面的、权限系统层面、服务器访问层面)
404:要访问的资源不存在。
·5xx:一般表示服务器错误。
常见的:500
PS:通常在接口测试和性能测试脚本开发的过程中,出现500错误,往往不是服务器问题,而是我们拼装的请求有问题所导致。
·response message:响应信息,是用来描述响应代码的。本身没有什么意义,可以自定义。
·response header:响应头。
格式、作用类似于请求头。
请求头是客户端提交给服务器的。
响应头是服务器返回给客户端的控制信息。
·response body:响应主体,即服务器最终返回给客户端的资源信息(字节信息)
URL和HTTP协议(无图片)的更多相关文章
- http协议无状态中的 "状态" 到底指的是什么?!
引子: 最近在好好了解http,发现对介绍http的第一句话[http协议是无状态的,无连接的]就无法理解了:无状态的[状态]到底指的是什么?! 找了很多资料不仅没有发现有一针见血正面回答这个问题的, ...
- http协议无状态中的 "状态" 到底指的是什么?!(转载)
转载自:https://www.cnblogs.com/bellkosmos/p/5237146.html 引子: 最近在好好了解http,发现对介绍http的第一句话[http协议是无状态的,无 ...
- 性能测试基础---URL和HTTP协议
·URL和HTTP协议: ·URL构成: URL是web应用进行资源访问的主要方式.一般来说,由五个部分构成: 示例:http://192.168.2.212/phpwind1/searcher.ph ...
- 网站性能优化之CSS无图片技术:三角形
1.使用CSS无图片技术,可以总结得到以下三个优点: 减少请求资源的大小: 减少http的请求个数: 提高可维护性. 一.CSS无图片技术,微博中有哪些实际应用呢? 通过上面的展示,我们可以看到,无图 ...
- spin.js无图片实现loading进度条,支持但非依赖jquery
特点: 1.无图片,无外部CSS 2.无依赖(支持jQuery,但非必须) 3.高度可配置 4.分辨率无关 5.旧版本IE不支持时,采用VML支持 6.使用关键帧动画,采用setTimeout() 7 ...
- Zencart批量删除无图片产品
Zencart批量删除无图片产品 2012-04-23 07:26:18| 分类: 默认分类 |字号 订阅 转自 http://zhongjia33.blog.163.com/blog/#m=0 ...
- Lodop背景图无图片时显示放大叉号问题
正常情况下,如果指定图片路径中,图片不存在或指定错误的路径,会因为找不到图片显示叉号,Lodop背景图如果设置了背景图宽度高度控制,显示的叉号也会被相应的放大,形成放大的模糊的图案,看起来就像是黑色边 ...
- C# 网络编程之webBrowser获取网页url和下载网页中图片
该文章主要是通过C#网络编程的webBrowser获取网页中的url并简单的尝试瞎子啊网页中的图片,主要是为以后网络开发的基础学习.其中主要的通过应用程序结合网页知识.正则表达式实现浏览.获取url. ...
- CSS页面重构“鑫三无准则”之“无图片”准则——张鑫旭
一.再说关于“鑫三无准则” “鑫三无准则”这个概念貌似最早是在去年的去年一篇名叫“关于Google圆角高光高宽自适应按钮及其拓展”的文章中提过.这是自己在页面重构的经验中总结出来的一套约束自己CSS的 ...
- css实现圆角三角形例子(无图片)
css实现圆角三角形例子(无图片) 以前我们做圆角时都会要用到图片来实现,今天我给大家整理的这款css圆角效果是不需要图片的纯css实现的哦,下面我们一起来看看吧. 效果如下图所示 三角形所对方向&q ...
随机推荐
- redis入门指南-第7章-管理
7.1 持久化 1.RDB方式 2.AOF方式 Redis 持久化: 提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF. RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(poi ...
- 一天搞定HTML----列表标签03
1.细说列表标签 2.代码演示 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...
- JavaSE教程-02Java基本语法-BUG:易错点
1.区别文档注释和多行注释 多行注释:多一个* 多行注释 格式: /* 注释文字 */ 文档注释 格式:/** 注释文字 */ 2.有关变量名.类名.方法名等注意点 由字母.数字.下划线.$组成,但不 ...
- 发布高性能迷你React框架anu
anu, 读作[安努],原意为苏美尔的主神. anu是我继avalon之后又一个新框架(github仓库为https://github.com/RubyLouvre/anu, 欢迎加星与试用) 此框架 ...
- css中那些容易被我们程序猿所忽略的选择器
css中那些容易被我们程序猿所忽略的选择器 作为一个程序猿,我们可能会遇到这样的问题,假如:有5个li,要求给第三个li设置背景颜色怎么办?有人会说,用JS啊,循环遍历出第三个不就行了.但是,用JS解 ...
- Spring+SpringMVC+MyBatis深入学习及搭建(九)——MyBatis和Spring整合
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6964162.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(八)--My ...
- Dojo初探之2:设置dojoConfig详解,dojoConfig参数详解+Dojo中预置自定义AMD模块的四种方式(基于dojo1.11.2)
Dojo中想要加载自定义的AMD模块,需要先设置好这个模块对应的路径,模块的路径就是这个模块的唯一标识符. 一.dojoConfig参数设置详解 var dojoConfig = { baseUrl: ...
- Unexpected end of input 和 Unexpected token var 和 Unexpected token ;
在写jsp的时候使用的一段代码一直调试,出现Unexpected token ; 错误. 所以最后把代码各种精简,得到了如下的测试示例代码 <% String aaa="123&quo ...
- 写JS自执行函数时要注意的
JS是非强类型语言,且IDE也不够智能,所以经常会在语句结束时漏写了分号,一般情况下这是不影响运行的, 但如果后面跟上的是一段自执行的函数,就会报出 "..... is not functi ...
- vs2015添加ActiveX Control Test Container工具(转载)
http://blog.csdn.net/lphbtm/article/details/8647565 vs2010 中添加 ActiveX Control Test Container工具(转载) ...