| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 详解 —— HTTP协议 -> 正文阅读 |
|
[网络协议]详解 —— HTTP协议 |
目录 HTTP是基于TCP处于应用层的一种协议,与传输层协议不同,它关注的不是像TCP那样的可靠传输,而是站在应用的角度,对传输的信息来具体的使用。HTTP广泛应用于手机APP和浏览器之中。? 1 HTTP协议格式和抓取我们之前已经讨论过了关于TCP和UDP这两种协议了,而上述的两种协议是属于“二进制协议”,通常需要理解到二进制的bit位(例如TCP中的六位标志位,若代表ACK的那一位为1,则代表这一条为ACK)。
1.1?HTTP抓取而想要获取一些具体的HTTP交互过程中的信息,就需要一些抓包工具了。我们可以将这些抓包工具看做是一个代理 ,请求和响应都需要路过代理,这时候在代理上就很容易获取到请求和响应的详细信息了,我当前使用的是Fiddler。 Fiddler左侧是一个列表,显示了当前抓到的所有HTTP/HTTPS的数据报。 当选中左侧列表中的某个条目,双击的时候,右侧就会显示这个条目的详细信息。?其中上面的那部分是HTTP请求,下面的是HTTP响应。 ? ?但是我们会发现上述两个信息框里大半都是乱码信息,我们就需要选择Row这一选项来观察这些信息的本体,其它选项相当于Fiddler对数据进行了一些加工。以下就是请求原来的样子: ?针对响应也是一样,但不一样的是响应是经过压缩的,所以还需要要经过解压缩之后才能看到本体 1.2 格式总结? ?2?请求的格式
2.1?请求行请求行包括三部分,每一部分之间用空格隔开,它们分别是:
2.2? 请求头
2.3? 空行
2.4?请求正文?这一部分可有可无,有时候会存在有时候没有。 3?响应的格式3.1?首行
?3.2?响应头
?3.3? 空行
3.4?响应正文?
有了以上的基础,我们下面就来详细聊一聊里面的内容吧!? 4?HTTP请求4.1?认识URLURL的含义是“网络上唯一资源的地址符”就是我们在访问某个网站时具体的网址。既要明确主机是谁,又要明确主机上的哪个资源。
URL encode/decode?
4.2? HTTP方法
?经典问题:谈谈GET和POST之间的区别
5?HTTPS
?因为之前的HTTP是明文传输的,这就导致的数据是容易被获取的同时也容易被篡改,最典型的就是当初的运营商劫持,感兴趣的小伙伴可以自行去百度,于是HTTPS在HTTP的基础上引入了加密层。 5.1 SSL/TLS
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:48:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |