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 ...
随机推荐
- 桥梁模式(Bridge Pattern)
桥梁模式是对象的结构模式.又称为柄体(Handle and Body)模式或接口(Interface)模式.桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation) ...
- 第一个远程javaweb项目测试全过程
2017-5-20,在这个奇特的日子,我不再满足于在本地测试javaweb,于是在上腾讯云买了第一个云服务器,由于是学生认证,所以一个月只要10块钱,还是要抢的,每天早上9点开抢 打开后,发现其实是一 ...
- 在CentOS上使用Jexus托管运行 ZKEACMS
ZKEACMS Core 是基于 .net core 开发的,可以在 windows, linux, mac 上跨平台运行,接下来我们来看看如何在 CentOS 上使用Jexus托管运行 ZKEACM ...
- 020 <one-to-one>、<many-to-one>单端关联上的lazy(懒加载)属性
<one-to-one>.<many-to-one>单端关联上,可以取值:false/proxy/noproxy(false/代理/不代理) 实例一:所有lazy属性默认(支持 ...
- spring mvc 存取值
(转) 1,使用HttpServletRequest获取 @RequestMapping("/login.do") public String login(HttpServletR ...
- python unittest 测试笔记(二):使用Requests
1. Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用.[Python Requests快速入门 :]http://cn.python-requests.org/z ...
- ubuntu16.04 开发环境搭建
1.更换源 sudo gedit /etc/apt/sources.list 2.更新系统 sudo apt-get update sudo apt-get dist-upgrade 3.移动 ...
- 当react框架遇上百度地图
百度地图官方文档的使用指导是这样说的:在页面中引入<script type="text/javascript" src="http://api.map.baid ...
- SQL Server AG集群启动不起来的临时自救大招
SQL Server AG集群启动不起来的临时自救大招 背景 前晚一朋友遇到AG集群发生来回切换不稳定的情况,情急之下,朋友在命令行使用命令重启WSFC集群 结果重启WSFC集群之后,非但没有好转,导 ...
- Python3网络爬虫
# 最近在实验楼学习了爬取妹子图,发现在运行的时候不是很流畅,有些图片下 1 # coding: utf-8 # coding: utf-8 import re import threading fr ...