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 ...
随机推荐
- ZooKeeper安装、部署
一.简介 ZK的安装和配置十分简单,既可以配置成单机模式,也可以配置成集群模式,zk使用java编写的运行在java环境上,3个ZK服务进程是建议的最小进程数量,而且建议部署在不通的物理机 ...
- 200 OK (from cache)原因
Meta标签中的http-equiv用来标记不可缓存或过期时间,但效果一般.而且代理缓存基本不访问HTML文档内容,所以尽量少用meta标签控制缓存. Pragma: no-cache Forces ...
- 我来说说XML文件中的xmlns、xmlns:xsi和xsi:schemaLocation的具体含义
文章摘自:https://yq.aliyun.com/articles/40353 http://www.cnblogs.com/zhao1949/p/5652167. ...
- struts2.1.6教程六、使用标签
1.基础表单标签 准备工作:建立struts2tag项目,搭建好struts2的开发环境.在html我们常用的基础表单标签主要有文本域.密码域.提交.重置四种.它们在strust2中可以通过标签来生成 ...
- UNIX文件I/O
第一次用markdown语法写博客,写出来的还比较整齐,感觉博客园对序号的支持不是很好,调了一会才有了比较满意的效果,还有有哪位知道使用markdown如何插入frame? 这边博客主要说了APUE中 ...
- Android学习探索之App多渠道打包及动态添加修改资源属性
前言: 关于Android渠道打包是一个比较老的话题,今天主要记录总结一下多渠道打包以及如果动态配置修改一些资源属性.今天以公司实际需求为例进行演示,由于项目复用很多公共的业务组件,而且业务组件之间的 ...
- ThinkPHP5.0更改框架的验证方法对象->validate(true)->save();
我们更希望看到: // 新增对象至数据表 $result = $Teacher->validate(true)->save(); 而不是: // 新增对象至数据表 $result = $T ...
- 小K的H5之旅-CSS基础(一)
一.什么是CSS W3C标准中,倡导有3:其一为内容与表现分离,其二为内容与行为分离,其三为内容结构的语义化.其倡导中第一条的"表现"指的便可以说是CSS.CSS全称Cascadi ...
- Nginx上部署HTTPS
Nginx上部署HTTPS依赖OpenSSL库和包含文件,即须先安装好libssl-dev,且ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib/, ...
- day_ha配置文件
流程图: 代码 #!/sur/bin/env python # -*- coding: utf-8 -*- #{"backend": "www.oldboy.org&qu ...