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 ...
随机推荐
- OAuth及第三方登录
现在的生活中运用互联网的有好多地方,我们既要申请微博,申请博客,申请邮箱等等:哪怕登录一个小网址看点东西都要注册登录,不过现在好多了:有了第三方登录,再也不用担心这不够用的脑子整天记忆账号和密码了,只 ...
- 2.Java 加解密技术系列之 MD5
Java 加解密技术系列之 MD5 序 背景 正文 结束语 序 上一篇文章中,介绍了最基础的编码方式 — — BASE64,也简单的提了一下编码的原理.这篇文章继续加解密的系列,当然也是介绍比较基础的 ...
- 搭建本地 Registry - 每天5分钟玩转 Docker 容器技术(20)
Docker Hub 虽然非常方便,但还是有些限制,比如: 需要 internet 连接,而且下载和上传速度慢. 上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 reposito ...
- [原创]安全系列之端口敲门服务(Port Knocking for Ubuntu 14.04 Server)
Port Knocking for Ubuntu 14.04 Server OS:ubuntu 14.04 server 原理简单分析: 端口敲门服务,即:knockd服务.该服务通过动态的添加ipt ...
- 《算法4》2.1 - 插入排序算法(Insertion Sort), Python实现
排序算法列表电梯: 选择排序算法:详见 Selection Sort 插入排序算法(Insertion Sort):非常适用于小数组和部分排序好的数组,是应用比较多的算法.详见本文 插入排序算法的语言 ...
- javascript基础-DOM原理
解释清楚DOM原理并不是一件容易的事,但是任何一个前端工程师,都必须牢牢掌握它. DOM整体架构: 图解: DOM,即针对XML文档的应用程序编程接口(API).通俗一点说,HTML属于XML的一种, ...
- 将 FFmpeg 移植到 Android平台 (完整版)
首先需要去FFmpeg的官网http://www.ffmpeg.org/去下载FFmpeg的源码,目前的版本号为FFmpeg3.3(Hilbert). 下载的文件为压缩包,解压后得到ffmpeg-3. ...
- Finding Similar Users-Euclidean Distance Score
Purpose: Finding Similar Users Method: Euclidean Distance Score ex2.py critics={'Lisa Rose': {'Lady ...
- 如何用Python做词云(收藏)
看过之后你有什么感觉?想不想自己做一张出来? 如果你的答案是肯定的,我们就不要拖延了,今天就来一步步从零开始做个词云分析图.当然,做为基础的词云图,肯定比不上刚才那两张信息图酷炫.不过不要紧,好的开始 ...
- 在Intellij Idea中使用JSTL标签库
习惯了eclipse和myeclipse开发的我们总是依赖于系统的插件,而当我想当然的以为IntelliJ IDEA 的jstl 的使用应该和myeclispe一样,当时使用起来却到处碰壁,完全找不到 ...