前言

上一篇介绍了Composer的功能,可以模拟get和post请求,get请求有些是不带参数的,这种比较容易,直接放到url地址栏就行。有些get请求会带有参数,本篇详细介绍url地址格式。

一、url详解

1.url就是我们平常打开百度在地址栏输入的:https:www.baidu.com,如下图,这个是最简单的url地址,打开的是百度的主页

2.再看一个稍微复杂一点的url,在百度输入框输入:上海悠悠博客园

3.查看url地址栏,对比之前的百度首页url地址,后面多了很多参数。当然最主要的参数是:wd=上海悠悠博客园(后面的一大串可以暂时忽略)。

4.那么问题来了,这些参数有什么作用呢?

可以做个简单的对比,在地址栏分别输入:

https:www.baidu.com

https://www.baidu.com/s?wd=上海悠悠博客园

对比打开的页面有什么不一样,现在知道作用了吧,也就是说这个多的"/s?wd=上海悠悠博客园"就是搜索的结果页面

二、url解析

1.以"https://www.baidu.com/s?wd=上海悠悠博客园"这个url请求的抓包为例

2.那么一个完整的url地址,基本格式如下:

https://host:port/path?xxx=aaa&ooo=bbb

--http/https:这个是协议类型,如图中1所示

--host:服务器的IP地址或者域名,如图中2所示

--port:HTTP服务器的默认端口是80,这种情况下端口号可以省略。

如果使用了别的端口,必须指明,例如:192.168.3.111:8080,这里的8080就是端口

--path:访问资源的路径,如图中3所示/s (图中3是把path和请求参数放一起了)

--?:url里面的?这个符号是个分割线,用来区分问号前面的是path,问号后面的是参数

--url-params:问号后面的是请求参数,格式:xxx=aaa,如图4区域就是请求参数

--&:多个参数用&符号连接

三、请求参数(params)

1.在url里面请求参数一般叫params,但是我们在fiddler抓包工具看到的参数是:QueryString

2.QueryString是像服务端提交的参数,其实跟params是一个意思,每个参数对应的都有name和value值

3.多个参数情况如下

四、UrlEncode编码

1.如果url地址的参数带有中文的,一般在url里面会是这样的,如第二点里的wd=%E4%B8%8A%E6%B5%B7%E6%...

像看到%E4这种编码的就是经过url编码过的,需要解码就能看到是什么中文了

2.用urlencode在线编码/解码工具,地址:http://tool.chinaz.com/tools/urlencode.aspx

最新文章

  1. DAY2 raw_input() 与 input() Python
  2. matlab练习程序(图像球面化)
  3. axis2 部署webservice
  4. box-sizing的学习和认识
  5. spring三大核心学习(一)---控制反转
  6. 小心!#define max(a,b) a>b?a:b
  7. 1、WWDC2014 详解OSX/iOS8/Swift语言
  8. Adobe flash CC 汉化破解方法
  9. 使用 Dawn 构建 React 项目
  10. python 类的属性__slots__ (了解一点点)
  11. laravel的时间日期处理包Carbon用法
  12. AtCoder Beginner Contest 083 (AB)
  13. js增加、删除、替换DOM对象
  14. RMQ 解决区间查询问题
  15. 获取jdk支持的编码类型
  16. 使用git进行代码的推送
  17. 算法:插入排序(Insertion Sort)
  18. 委托(Func与Action)
  19. Java 设计模式系列(九)组合模式
  20. 【BZOJ4066】简单题(KD-Tree)

热门文章

  1. Mysql表的对应关系
  2. 二分查找(通过相对位置判断区间位置)--17--二分--LeetCode33搜索旋转排序数组
  3. C#多线程(12):线程池
  4. 云开发网站托管悄悄上线了 Next.js 的支持
  5. ES6的 Iterator 遍历器到底是什么?
  6. css的变量教程,更强大的css
  7. 前端面试题之HTML和css-很实用的知识点
  8. 使用openmp进行并行编程
  9. 还在写CURD?试试这款基于mybatis-plus的springboot代码生成器
  10. App《最美诗词》开发 -- Java后端(整合框架)