【应用层协议】初始Http,fiddler的使用

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

1. HTTP概念

Http全称是超文本传输协议,是一种常用的应用层协议。它是Web的基础,用于在客户端和服务器之间传递数据和请求网页资源。
例如:当我们搜索一个网站时,就相当于向网站的服务器发送一个http请求,当网站的服务器收到请求后就会进行响应。
HTTP 往往是基于传输层的 TCP 协议实现的. (HTTP1.0, HTTP1.1, HTTP2.0 均为TCP, HTTP3 基于 UDP 实现)

2. 下载fiddler及使用获得HTTP协议格式

当我们搜索一个网站时,我们便会发出HTTP的请求,但我们可能无法直接的观察,我们就可以使用这个fiddler的抓包工具进行捕捉HTTP,方便我们观察这个过程和HTTP协议格式等。
这个fiddler就相当于一个代理,当我们开启fiddler搜索网站发出http请求,不会直接到达网站服务器,而是先到fiddler,然后从fiddler再到网站服务器,当网站服务器回应时,也是如此。

2.1 fiddler的下载

我们可以直接搜索fiddler的官网,进行下载。
fiddler下载
【应用层协议】初始Http,fiddler的使用,计算机网络,http,fiddler,网络协议
下载我们需要的版本即可。

2.2 fiddler使用

fiddler的使用也是非常的简单,我们直接打开即可。
我们会得到以下的界面:
【应用层协议】初始Http,fiddler的使用,计算机网络,http,fiddler,网络协议

  1. 最上面的导航
  2. 左面的便是我们抓到的HTTP(还会有HTTPS协议,这个后面博客会讲)。
  3. 当我们点开一个HTTP,右上一块就是HTTP请求。
  4. 右下是HTTP响应。

点击Raw,View in Noteod,便可以查看具体细节。【应用层协议】初始Http,fiddler的使用,计算机网络,http,fiddler,网络协议

3. HTTP请求(Request)

【应用层协议】初始Http,fiddler的使用,计算机网络,http,fiddler,网络协议

如图,HTTP请求协议分为四部分:

  1. 请求行
  2. 报头
  3. 空白行
  4. 正文

下面具体介绍每一个部分。

3.1 请求行

【应用层协议】初始Http,fiddler的使用,计算机网络,http,fiddler,网络协议

如图,请求行分为三个部分:

  1. HTTP请求的方法
  2. 请求的URL
  3. HTTP协议版本

3.1.1 URL

URL,又称统一资源定位符,也就是我们经常说的网址。
互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
下面就是一个CSDN的URL:
https://www.csdn.net/?spm=1011.2124.3001.4476

  • https:协议方案名,常见的就http和https。
  • www.csdn.net:服务器地址, 此处是一个 “域名”, 域名会通过 DNS 系统解析成一个具体的 IP 地址。
  • spm=1011.2124.3001.4476:查询字符串(query string), 本质是一个键值对结构. 键值对之间使用 & 分隔. 键和值之间使用 = 分隔。程序员自定义。

但这并不完整的URL,还是有一些信息被省略了。
完整:
【应用层协议】初始Http,fiddler的使用,计算机网络,http,fiddler,网络协议

3.1.2 方法

【应用层协议】初始Http,fiddler的使用,计算机网络,http,fiddler,网络协议

HTTP请求行的第一个部分为HTTP请求的方法,每种方法都有不同的意义, 后面我们也可以使用JS的ajax自己定义方法。
上面方法中其中常用的只有GET和POST。

3.1.2.1 GET

GET 是最常用的 HTTP 方法. 常用于获取服务器上的某个资源,
在浏览器中直接输入 URL, 此时浏览器就会发送出一个 GET 请求.
【应用层协议】初始Http,fiddler的使用,计算机网络,http,fiddler,网络协议
如图就是一个GET请求,我们可以方法GET请求的特点:

  1. 请求行第一个部分为GET;
  2. URL 的 query string 可以为空, 也可以不为空;
  3. header 部分有若干个键值对结构;
  4. body 部分为空。
3.1.2.2 POST

POST 方法也是一种常见的方法. 多用于提交用户输入的数据给服务器(例如登陆页面)。
通过 HTML 中的 form 标签可以构造 POST 请求, 或者使用 JavaScript 的 ajax 也可以构造 POST 请求。
【应用层协议】初始Http,fiddler的使用,计算机网络,http,fiddler,网络协议

  1. 首行的第一部分为 POST;
  2. URL 的 query string 一般为空 (也可以不为空) header 部分有若干个键值对结构;
  3. body 部分一般不为空;
  4. body 内的数据格式通过 header 中的 Content-Type 指定. body 的长度由 header 中的Content-Length 指定.

GET和POST区别?
1.GET一般用于获取数据,POST一般用于提交数据;
2.GET一般body为空,传递数据通过query string,POST一般query string为空,传递数据通过body;
3.GET请求一般幂等(多次请求结果相同),POST不是幂等的;
4.GET可以被缓存,POST不能被缓存。

3.1.2.3 其他方法

PUT 与 POST 相似,只是具有幂等特性,一般用于更新
DELETE 删除服务器指定资源
OPTIONS 返回服务器所支持的请求方法
HEAD 类似于GET,只不过响应体不返回,只返回响应头
TRACE 回显服务器端收到的请求,测试的时候会用到这个
CONNECT 预留,暂无使用

3.2 报头(header)

【应用层协议】初始Http,fiddler的使用,计算机网络,http,fiddler,网络协议

header 的整体的格式也是 “键值对” 结构,每个键值对占一行. 键和值之间使用分号分割。
header中种类很多,这里介绍几种常见的。

  1. Host:表示服务器主机的地址和端口。
  2. Content-Length:表示 body 中的数据长度。
  3. Content-Type:表示请求的 body 中的数据格式。
  4. User-Agent (简称 UA):表示浏览器/操作系统的属性。
  5. Referer:表示这个页面是从哪个页面跳转过来的。
  6. Cookie:Cookie 中存储了一个字符串, 这个数据可能是客户端(网页)自行通过 JS 写入的, 也可能来自于服务器(服务器在 HTTP 响应的 header 中通过 Set-Cookie 字段给浏览器返回数据)可以通过这个字段实现 “身份标识” 的功能。

3.3 空白行

作用
分割报头和正文,标识报头结束,一般有正文才会有空白行,没报文就没空白行。

3.4 正文(body)

正文中数据:
文本数据:HTML、XML、JSON等文本格式的数据。
二进制数据:图像、音频、视频等二进制格式的数据。
表单数据:用户通过Web表单提交的数据。
文件上传:在文件上传请求中,正文包含上传的文件数据。
……

4. HTTP响应(response)

【应用层协议】初始Http,fiddler的使用,计算机网络,http,fiddler,网络协议

HTTP响应也是四个部分组成:

  1. 状态行
  2. 报头
  3. 空白行
  4. 正文

其中后三个与HTTP请求相同。

状态行
【应用层协议】初始Http,fiddler的使用,计算机网络,http,fiddler,网络协议

由HTTP协议版本和状态码和原因短语组成。
状态码和原因短语一一对应,如:
200 OK:表示访问成功。
404 Not Found:没有找到资源。
403 Forbidden:没有权限,拒绝访问。
405 Method Not Allowed:前面我们已经学习了 HTTP 中所支持的方法, 有 GET, POST, PUT, DELETE 等,但是对方的服务器不一定都支持所有的方法(或者不允许用户使用一些其他的方法)。
500 Internal Server Error:服务器出现内部错误。
504 Gateway Timeout:当服务器负载比较大的时候, 服务器处理单条请求的时候消耗的时间就会很长, 就可能会导致出现超时的情况。
302 Move temporarily:临时重定向。
301 Moved Permanently:永久重定向。

总结
【应用层协议】初始Http,fiddler的使用,计算机网络,http,fiddler,网络协议文章来源地址https://www.toymoban.com/news/detail-728826.html

到了这里,关于【应用层协议】初始Http,fiddler的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【计网笔记06】计算机网络之应用层协议(SMTP协议、POP3协议、HTTP协议)、DNS域名系统、电子邮件系统

    这篇文章,主要介绍计算机网络之应用层协议(SMTP协议、POP3协议、HTTP协议)、DNS域名系统、电子邮件系统。 目录 一、计算机网络之应用层 1.1、应用层介绍 1.2、网络应用模型

    2024年02月08日
    浏览(58)
  • 计算机网络 应用层上 | 域名解析系统DNS 文件传输协议FTP,NFS 万维网URL HTTP HTML

    之前我们讲运输层的时候已经讲了运输层可以给不同进程之间通信,但我们还需要应用层原因是,许多 应用需要多个进程之间相互配合完成,所以应用层进程用来约束这些配合! 每个应用层协议用来解决一个问题 应用层的许多协议都是基于客户服务器方式 客户是请求方,服

    2024年01月24日
    浏览(62)
  • 【计算机网络】图解应用层协议

    我们前面介绍过 TCP / IP 模型的下三层,分别是 网络接入层 、 网络层 和 传输层 。它们都是为应用层服务的,传输应用层的各种数据,现在我们就来看看最高层的 应用层 。 在 TCP / IP 模型中,应用层提供的服务相当于 OSI 模型的 应用层 、 表示层 和 会话层 的服务总和。不仅

    2024年02月08日
    浏览(52)
  • 【计算机网络】应用层协议 -- 安全的HTTPS协议

    HTTPS全称为 Hyper Text Tranfer Protocol over SecureSocket Layer 。 HTTPS协议也是一个应用层协议,是在HTTP协议的基础上引入了一个加密层。 在传统的HTTP协议中,数据以明文的形式在网络上传输,这意味着敏感信息(如密码、个人信息等)可能会在传输过程中被攻击者截获和窃取。为了解

    2024年02月15日
    浏览(41)
  • 《计算机网络》实验八 应用层相关协议分析

    实验八 应用层相关协议分析.............................................................................................. 2 一、实验目的.................................................................................................................... 2 二、实验原理.......................................................................

    2024年02月03日
    浏览(53)
  • 【计算机网络-自顶向下方法】应用层(HTTP、FTP)

    1. Principles of network applications 创建一个网络应用   创建一个网络应用的核心,是编写一个分布式程序,使其可以运行在不同的端系统上,并能通过网络相互通信。(例如,web服务器软件与浏览器软件)   应用程序只运行在终端上(只在端系统上开发应用),应用程序员不

    2024年02月08日
    浏览(48)
  • 计算机网络中的应用层和传输层(http/tcp)

    目录 1、协议的通俗理解 1.1 理解协议 2.应用层 2.1 http协议 2.2 HTTP的方法  2.3 HTTP的状态码 2.4 HTTP常见Header 3、传输层 3.1 端口号 3.1.1 端口号范围划分 3.1.2 netstat 3.1.3 认识知名端口号(Well-Know Port Number) 3.2 UDP协议 3.2.1 UDP协议端格式 3.2.2 UDP的特点 3.2.3 基于UDP的应用层协议 3.3 TCP协

    2024年02月08日
    浏览(44)
  • 应用层协议——http

    虽然我们说,应用层协议是我们自己定的,但实际上,已经有一些现成的,又非常好用的应用层协议,供我们直接参考使用。HTTP(超文本传输协议)就是其中之一。 平时我们俗称的 “网址” 其实就是说的 URL: 这里的登录信息现在已经隐藏起来,改成例如手机登录、微信登录

    2024年02月15日
    浏览(39)
  • 应用层协议 HTTP

    我们已经学过 TCP/IP , 已然知道数据能从客户端进程经过路径选择跨网络传送到服务器端进程。 我们还需要知道的是,我们把数据从 A 端传送到 B 端, TCP/IP 解决的是顺丰的功能,而两端还要对数据进行加工处理或者使用,所以我们还需要一层协议,不关心通信细节,关心应用

    2024年02月06日
    浏览(45)
  • 【网络】应用层——HTTP协议

    🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言: 你只管努力,剩下的交给时间! 上篇文章中,本喵带着大家对HTTP有了一个初步的认识,今天就来详细讲解一下这个应用层协议。 如上图所示的 url (网址),里面包含有 / 以及 ? 等字符。 像这样的字符,已经被url当做 特殊

    2024年02月15日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包