HTTP初识,fiddler的使用,URL各部分介绍,QueryString

这篇具有很好参考价值的文章主要介绍了HTTP初识,fiddler的使用,URL各部分介绍,QueryString。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 

目录

 

一、什么是HTTP

二、抓包工具

三、请求的首行 URL

四、URL的各部分详细介绍


一、什么是HTTP

现在网页上,我们常见的是https,但是在二十年前是以http为主,这个协议也叫超文本传输协议,文本->字符串,“超文本”->图片/视频

HTTP响应:比如搜狗版的HTML,这个响应的内容,往往是一个html内容

一个网站分为前端+后端(太多了,说不过来)

前端:html(描述网页的结构),css(描述网页的样式),js(网页的行为,与用户的交互)vue esc就不说了

网页上HTML,css,js都是在浏览器执行的,都是访问服务器的时候,从服务器下载到浏览器上,然后才能显示运行。其他的程序都是要先安装,才能够使用,网页是随时用随时下载。网页优势:服务器随时更新,用户就可以用上新版本

劣势:性能比较有限,很难去有一些复杂操作。

HTTP初识,fiddler的使用,URL各部分介绍,QueryString,http,网络协议,网络

二、抓包工具

抓包工具是一种代理:但是代理不仅仅是抓包工具,还有很多体现形式。

代理客户端的叫正向代理

代理服务器的叫反向代理

抓包的工具有很多:wireshark(功能很丰富,但是却很复杂)

                                 fiddler抓包工具(足以应对大部分场景,而且简单方便,但是功能比上面少点,但是够用)

1.直接搜索后安装

有验证码,为啥有复杂的验证码,互联网上80%带宽是被爬虫消耗的。

2.使用

左侧,当前机器上有哪些http数据报交互(不仅能抓浏览器,而且能抓到所有程序)

电脑程序在后台和服务器悄悄的交互(有的为了实现某种功能,有的偷拿你隐私)

右上角是请求的详情

右下角是响应的内容

刚好装完fidder之后,默认只能抓到http的数据,抓到了https,抓不到https(网络上httsp是主流)所以需要稍微设置一下,让fiddler可以抓到https。

1.点击tools->options->https勾上提示框(意思勾选有风险,一路yes)https是加密的,要显示,先解密,要信任保证书。

开了fidder,客户端服务器http,https的请求和响应都会在fidder过一遍(但有一些东西会影响fidder正确运行)

1.https要勾选正确

2.有的代理程序可能和fiddler冲突,确保使用fiddler的时候关闭其他代理。

3.有的浏览器插件,也可能和fiddler冲突

这个是抓去搜狗主页交互过程,上面这些标签页,站在不同视角来解析请求和响应,HTTP是文本协议,IP,TCP ,UDP二进制协议

HTTP加密后是二进制,但是我们勾选完毕就恢复成文本了。在这里我们点击row打开响应,当前http响应,经常会进行压缩(节省带宽)

http响应的内容通常是HTML,CSS,JS

HTTP初识,fiddler的使用,URL各部分介绍,QueryString,http,网络协议,网络

HTTP初识,fiddler的使用,URL各部分介绍,QueryString,http,网络协议,网络

这么看不太直观,干脆这么看

GET http://www.sougou.com/HTTP 11.1.     //1.首行
······
Accept:text/html,application/xhtml       //2.请求头

                                         //3.空行
body                                     //4.正文

响应报文

HTTP初识,fiddler的使用,URL各部分介绍,QueryString,http,网络协议,网络

HTTP/1.1 200 ok.       //1.首行
Connection             //2.响应头
                       //3.空行
body                   //4正文

三、请求的首行 URL

GET https://www.sogou.com/HTTP/1.1

GET:方法

https://www.sogou.com:URL(请求,就是客户端给服务器发起的一个数据,这里要明确指出要访问的服务器是啥,要访问的服务器资源是什么,我们在JDBC中讲过:URL是唯一资源定位符,用来描述网络上的资源的)

HTTP/1.1 :版本号

RFC标准文档,TCP,UDP,IP,HTTP等网络协议,RFC标准文档有更精准的细节内容

http://user:pass@www.example.jp:80/dir/index.html?uid=1#ch1 (URL的完整细节)

简单来说
协议名://IP地址:端口号/路径?querystring ->(querystring是键值对的数据,k=uid这个东西,value则是uid等于的那个东西

http:协议名字(协议方案名)

user:pass@ :大部分现在这个地方是不用的,所以也不用多介绍

www.example.jp:可以是IP地址,也可以是域名,也可是外网IP(本身唯一),也可以是内网(访问局域网中的设备)还可以是环回IP(访问自己)

80:服务器端口号

dir/index.html?:访问服务器上哪个资源

uid=1:查询字符串(访问资源,带上啥样的参数)

ch1:片段标识符 (不常见,主要文档类文件)

这个东西就如同卖烤冷面

http://bhu:18/烤冷面?葱花=正常&香菜=苦苦放&醋=必须多放

->针对访问资源进行的补充说明,查询字符串,是键值对的格式,键值对之间用&分隔,键和值之间,用&分隔,键与值之间,使用=分隔,查询字符串以?开始。

实践上,URL来说,上述的几个部分,都是可以省略的~不是说哪个部分必须得保存,IP地址/域省略,此时相当于是访问当前服务器的地址。

访问B站主页,必须带有bilibili主页的html这个html又回触发一些其他的http请求,这些后续触发的http请求,就可以省略ip,省略IP就相当于用bilibili一样的IP。

四、URL的各部分详细介绍

端口号其实也可以省略(常见),省略时,浏览器会自动加上端口(这个端口号表示的是访问目标服务器的是哪个端口)

http:端口号80

https:端口号443

知名端口号:1-1024,都被一些常用的服务器(知名的老东西服务器瓜分了),因此一个网页部署于服务器的时候,往往遵守上述规则,把http绑定到8080,https绑定到443,浏览器访问你的服务器,就不必去多余指定窗口。

其实带层次的路径也能够省略

https://sogou.com/

如果省略相当于访问的是/

/称为根目录(目录是一个树形结构,根目录,就相当于树根一样,服务器提供的资源,也是类似于目录结构一样的,树形结构来组织的,有树,那么就会有树根,/就是树根->通常根节点就会对立服务器的对应主页(约定的规则)

查询字符串也可以没有(有和没有是看我们后端程序员们决定的)

query string中带有一些特殊符号,这些特殊符号,可能在url本身就有一定含义,就导致浏览器/服务器解析失败!(在c++中+就属于特殊符号,+是%2B,假如加号不去切换,就可能导致浏览器/服务器解析失败

/,?,&,=,#同理,都要转换,url的encode的本质转义字符(和我们的/n还不一样这种有自己的规则)

如:c++你好

把转换的内容的二进制的每字节,都用十六进制表示出来,然后每字节前面加一个%

你:十六进制是:E4BDA0

好:十六进制是:E5A5BD

最后会C%2B%2B%E4%BD%A0%E5%A5%BD

经过URL的encode之后,此时querystring就不会出现特殊含义的符号,浏览器和服务器才可以正常识别~文章来源地址https://www.toymoban.com/news/detail-716110.html

到了这里,关于HTTP初识,fiddler的使用,URL各部分介绍,QueryString的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux系统下配置Nginx使部分URL使用多套自定义的PHP-FPM配置

    1. Tcp默认的9000端口通信: php-fpm配置:listen = 127.0.0.1 与nginx进程通信:fastcgi_pass 127.0.0.1:9000; 优点: 使用网络传输,可以跨服务器。 TCP通信有一些校验机制,具有更高的稳定性。 缺点: 性能略微比socket差。 2. Unix Socket(套接字)通信: php-fpm配置 :listen = /tmp/php-cgi.sock 与

    2024年02月08日
    浏览(47)
  • fiddler抓包手机和部分app无法连接网络问题

    目录 前言: 一)fiddler安装配置 1、下载安装fiddler,这里不说明了,百度下载,安装好之后进行配置 2、安装模拟器(夜神、mumu),并配置代理 3、破解app抓包限制  最后 最近公司在做app项目,测试环境app包没有调试模式,导致测试过程中无法查看请求接口和请求的参数,故

    2024年02月15日
    浏览(36)
  • 使用正则验证Url地址是否以http:// 或 https:// 开头

    使用 Java 正则表达式 (Regular Expressions) 来验证一个 URL 地址是否以 \\\"http://\\\" 或者 \\\"https://\\\" 开头。示例代码如下: 在上述代码中,我们使用了正则表达式的 ^https?://.*$ 部分来进行匹配,其中: ^ 表示字符串起始位置 http 表示匹配 \\\"http\\\" 字符串 s? 表示 \\\"s\\\" 字符可有可无 :// 表示匹配

    2024年02月15日
    浏览(36)
  • 使用conda创建虚拟环境时出现错误(CondaHTTPError: HTTP 000 CONNECTION FAILED for url)

    一、 原因 镜像网址配置有问题! http是超文本传输协议,信息是明文传输,https则是具有安全性的【ssl/tls】加密传输协议。这里我们直接用http即可,不用加s。 二、解决步骤 1. win+R打开运行窗口,输入如图命令 2. 打开“.condarc“文件,右键 打开方式选择 记事本 即可 3. 修改为

    2024年03月16日
    浏览(57)
  • Fiddler实现 HTTP 网络抓包

    前面我们简单地学习了关于应用层——自定义协议的知识,但是这都只是自定义协议,在实际生活中自定义协议用的还是占少数的,在应用层中比较常用的协议是 HTTP 协议,在学习这两个协议之前,我们需要使用到一个工具——Fiddler来实现 HTTP 的抓包来查看它们的请求和响应

    2024年02月06日
    浏览(44)
  • Quartus 软件界面介绍与部分使用技巧

    内容太多,只能慢慢补充完善了~ 对一个软件的熟练掌握,不仅在于完成项目工程,还在于对一个软件的各个功能的位置与使用要熟稔于心(个人看法)。 默认打开的软件界面如下: 关掉所有能关闭的窗口,剩下的就是一个软件最基本的结构                       

    2024年01月17日
    浏览(34)
  • 初识RabbitMQ(RMQ的五种消息模型介绍以及使用演示)

    RabbitMQ官方提供了5个不同的Demo示例,对应了不同的消息模型: 简单队列 Work模式 广播模式 路由模式 主题模式 其实我比较喜欢将他们分成三类: 1.简单队列:一个生产者,一个消费者。(名师指导,1V1) 2.Work模式:一个生产者,多个消费者。但是一条消息只能够给到一个人

    2023年04月08日
    浏览(41)
  • HTTP 协议的基本格式和 fiddler 的用法

    目录 一.  HTTP 协议 1. HTTP协议是什么 2. HTTP协议的基本格式  HTTP请求 首行                  GET和POST方法:                 其他方法                  经典面试题:                 URL Header(请求报头)部分 空行  ​HTTP响应          状态

    2024年02月12日
    浏览(31)
  • Unity VideoPlayer使用url方式,Android平台下无法播放http链接的视频(黑屏、无反应、无报错、无log输出)...

    以下内容基于 Unity 2019.4.28f1c1,未来可能有变化 (以下 Other Settings 供参考,未必影响) Edit - Project Settings - Player - Android平台 - Other Settings :设置如下 Rendering Auto Graphics API: true Configuration Scripting Backend: IL2CPP Install Location: Prefer External Internet Access: Auto 主要原因: 默认情况下,不允

    2023年04月18日
    浏览(43)
  • 软件测试|测试平台开发-Flask 入门:URL组成部分详解

    简介 Flask 是一款流行的 Python Web 框架,它简单轻量而灵活,适用于构建各种规模的 Web 应用程序。在 Flask 中,URL(Uniform Resource Locator)是指定 Web 应用程序中资源的唯一标识符。URL 组成部分是构成一个完整 URL 的不同部分,包括协议、主机名、端口号、路径和查询参数等。在

    2024年01月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包