[HTTP协议]应用层的HTTP 协议介绍

目录

1.前言

2.使用fiddler抓包来观察HTTP协议格式

3.HTTP协议的基本格式

2.1请求

2,1.1首行

2.1.2请求头

2.1.3空行

2.2响应

2.2.1首行

[2.2.2响应头 键值对](#2.2.2响应头 键值对)

​编辑2.2.3空行

2.2.4载荷(响应正文)

3.认识URL

[3.1关于URL encode](#3.1关于URL encode)


1.前言

我们在前面的博客中,简单的介绍了传输层,网络层,数据链路层等网络层的协议和相关概念,这些协议越往上越和我们编写程序的人息息相关,尤其是应用层和传输层,本篇博客,我将带领大家认识和了解应用层的重要协议--HTTP协议.HTTP又叫做超文本传输协议,所谓的超文本就是即可以是文件也可以是图片或者视频文字之类的. 也可以是HTML 或者CSS JS文件和文本传输只能是字符串不一样,超文本可以传输更多类型的数据.

2.使用fiddler抓包来观察HTTP协议格式

要使用fiddler,我们在一开始设置的时候要同意并且安装它的证书.它就可以自动抓包.使用fiddler的时候要注意不能在电脑上使用代理程序,如果有的话就要关闭这个代理程序,因为fiddler这个软件本身也是一个代理程序,如果使用其他的代理程序的话,就会造成冲突.

当我们打开一个网页以后,也会抓包.

3.HTTP协议的基本格式

HTTP协议分为请求和响应,我们可以在fiddler中打开请求的文本来观察一下HTTP协议的请求

选中raw然后点击view in Notepad就可以以记事本的格式打开这个请求

接下来我们详细说明一下这些内容都分别代表什么含义:

2.1请求

一个请求分为四个部分 分别是

2,1.1首行

首行有三个部分 分别是 方法,url,版本号

2.1.2请求头

从第二行 一直到最后面 都是请求头

里面包含了很多键值对 一个键值对占一行,键和值的使用,用:来分割.此处的键值对都有哪些,是什么含义,都是HTTP协议规定的.

2.1.3空行

请求最下面就有一个空行,这个空行就可以结束标记

2.1.4正文

http 的载荷部分,有的http请求有 有的没有

2.2响应

http 的响应也分为四个部分 分别是

2.2.1首行

这里的首行也分为三个部分 使用空格来分隔

2.2.2响应头 键值对

2.2.3空行

中间这个空行

2.2.4载荷(响应正文)

响应的载荷是html

3.认识URL

url这个概念非常重要,不仅仅是在HTTP中使用,在jdbc中也使用过这个东西,它描述了一个网络上的资源位置是一个唯一资源定位符,比如 https://www.sogou,com/就是一个最简单的url

片段标识符是表示当前页面的某个部分,通过不同的片段表示可以完成页面内的跳转

综上所述 的IP地址 端口号 ,路径,查询字符串 就可以描述出一个网络资源了.

3.1关于URL encode

query string 力是自定义的键值对,在URL中,本身有些特殊符号具有特定的含义.如果query string中也包含有同样的符号,咋办? 如果直接写进去,可能就会使服务器 /游览器解析失败 最靠谱的就是使用转义字符

对于汉字 也是需要转义的. 因为如果汉字的utf8 或者 gbk等编码的值和ascii的码一致 ,就麻烦了

此处是C%2B%2B本来是我们输入的C++, 我们在ascii中拿出来,使用16进制表示,并且加上 %

这里的urlencode编码是非常重要的,实际开发中,在构造一个url的时候 ,尤其url 的 query string 中要包含有中文的时候,无比要进行编码

比如我们在游览器中输入一个你好.然后复制一下上面的网络路径

我们将你好这个输入到码表中

我们可以看到.转码后的和我们输入的一模一样.证明了该游览器对中文进行了转码

相关推荐
qq_2906062721 分钟前
监听本地tcp,udp端口,通过socks5转发至远端
网络协议·tcp/ip·udp
西北大程序猿1 小时前
服务器代码知识点补充
服务器·开发语言·网络·c++·网络协议
2501_915921433 小时前
iOS性能调试完整流程实录:工具组合下的问题定位与修复实践(含keymob)
websocket·网络协议·tcp/ip·http·网络安全·https·udp
TE-茶叶蛋3 小时前
WebSocket 前端断连原因与检测方法
前端·websocket·网络协议
yangzx的网工日常4 小时前
网络的那些事——初级——OSPF(2)
网络
暮色_年华4 小时前
《TCP/IP协议卷1》第9章 IP选路
网络
搬码临时工4 小时前
别人如何访问我的内网呢? 设置让外网访问内网本地服务器和指定端口应用的几种方式
服务器·网络·智能路由器
yangzx的网工日常4 小时前
网络的那些事——初级——OSPF(1)
运维·服务器·网络
暮色_年华4 小时前
《TCP/IP协议卷1》第1章 概述
网络
半路_出家ren4 小时前
第六章网络互联设备
网络·网关·交换机·中继器·集线器·网桥·无线ap