网络原理-HTTP/HTTPS(三)--认识请求“报头“(header)

认识请求"报头"(header)

header的整体的格式也是"键值对"结构.

每个键值对占⼀⾏.键和值之间使⽤分号分割.

报头的种类有很多,此处仅介绍⼏个常⻅的.

Host

表⽰服务器主机的地址和端⼝.

Content-Length

表⽰body中的数据⻓度.

Content-Type

表⽰请求的body中的数据格式.

常⻅选项:

• application/x-www-form-urlencoded:form表单提交的数据格式.此时body的格式形如:

title=test&content=hello

• multipart/form-data:form表单提交的数据格式(在form标签中加上 enctyped="multipart/form-data" .通常⽤于提交图⽚/⽂件.body格式形如:

Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryrGKCBY7qhFd3Trw

------WebKitFormBoundaryrGKCBY7qhFd3TrwA

Content-Disposition: form-data; name="text"

title -

-----WebKitFormBoundaryrGKCBY7qhFd3TrwA

Content-Disposition: form-data; name="file"; filename="chrome.png"

Content-Type: image/png

PNG ... content of chrome.png ...

------WebKitFormBoundaryrGKCBY7qhFd3TrwA--

• application/json:数据为json格式.body格式形如:

{"username":"123456789","password":"xxxx","code":"jw7l","uuid":"d110a05ccde64b16

关于Content-Type的详细情况:https://developer.mozilla.org/enUS/docs/Web/HTTP/Basics_of_HTTP/MIME_types

User-Agent(简称UA)

表⽰浏览器/操作系统的属性.形如

Mozilla/5.0 (Windows NT 10.0; Win64; x64)

AppleWebKit/537.36 (KHTML, like Gecko)

其中Windows NT 10.0; Win64; x64 表⽰操作系统信息 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77

Safari/537.36 表⽰浏览器信息.

User-Agent之所以是这个样⼦是因为历史遗留问题.可以参考

User-Agent的故事:https://zhuanlan.zhihu.com/p/398807396

Referer

表⽰这个⻚⾯是从哪个⻚⾯跳转过来的.形如

https://v.bitedu.vip/login

如果直接在浏览器中输⼊URL,或者直接通过收藏夹访问⻚⾯时是没有Referer的.

Cookie中存储了⼀个字符串,这个数据可能是客⼾端(⽹⻚)⾃⾏通过JS写⼊的,也可能来⾃于服务器 (服务器在HTTP响应的header中通过Set-Cookie字段给浏览器返回数据). 往往可以通过这个字段实现"⾝份标识"的功能.

每个不同的域名下都可以有不同的Cookie,不同⽹站之间的Cookie并不冲突.

可以通过抓包观察⻚⾯登陆的过程(以码云为例):

1)清除之前的cookie

为了⽅便观察,先清除掉之前登陆的cookie

在码云⻚⾯上,点击url左侧的图标,选择Cookie

然后移除已经存在的Cookie

2)登陆操作

登陆请求

登陆响应

3)访问其他⻚⾯

登陆成功之后,此时可以看到后续访问码云的其他⻚⾯(⽐如个⼈主⻚),请求中就都会带着刚才获取到 的Cookie信息

理解登陆过程

这个过程和去医院看病很相似.

  1. 到了医院先挂号.挂号时候需要提供⾝份证,同时得到了⼀张"就诊卡",这个就诊卡就相当于患者的 "令牌".

  2. 后续去各个科室进⾏检查,诊断,开药等操作,都不必再出⽰⾝份证了,只要凭就诊卡即可识别出当前 患者的⾝份.

  3. 看完病了之后,不想要就诊卡了,就可以注销这个卡.此时患者的⾝份和就诊卡的关联就销毁了.(类似 于⽹站的注销操作)

  4. ⼜来看病,可以办⼀张新的就诊卡,此时就得到了⼀个新的"令牌"

相关推荐
2401_873587821 小时前
Linux——传输层协议TCP
linux·网络·tcp/ip
wenzhangli72 小时前
OoderA2UI流式样式设计:SkillCenter重磅组件实现传统组件一键换新
人工智能·网络协议·开源
byzh_rc2 小时前
[深度学习网络从入门到入土] 拓展 - 激活函数
网络·人工智能·深度学习
以太浮标2 小时前
华为eNSP综合实验之- 通过SSH远程登陆设备
服务器·网络·ssh
枷锁—sha3 小时前
【SRC】前后端分离与API接口渗透
服务器·网络·安全·网络安全·系统安全
Coisinilove3 小时前
数通第三次培训
网络·windows·数通数据通信
仙俊红3 小时前
我亲手抓到了自己的账号密码:一次完整的 HTTP 登录抓包实验
网络·网络协议·http
专业开发者4 小时前
Wi-Fi 技术学习:一文读懂WPA2四次握手的密钥体系与交互逻辑
网络·学习·macos
无级程序员4 小时前
k8s 1.35 + containerd v2.2 配置http私库并配置登录信息
http·容器·kubernetes