网络原理-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. ⼜来看病,可以办⼀张新的就诊卡,此时就得到了⼀个新的"令牌"

相关推荐
库玛西1 小时前
深入浅出传输层:UDP 与 TCP 协议全景指南
linux·服务器·网络·c++·笔记·tcp/ip·udp
STQY燊桐启元(深圳)电子科技10 小时前
医疗精密电源散热方案:相变陶瓷片保障医疗设备长效稳定低干扰
大数据·网络·人工智能
CDN36012 小时前
节点智能调度实操:解决出海区域访问快慢不均、节点拥堵、跨洋延迟高,CDN 全网择优落地方案
运维·服务器·网络
roman_日积跬步-终至千里13 小时前
【数据治理(6)】DataOps 不是调度工具,而是让数据产品长期可信的运行机制
java·服务器·网络
可乐鸡翅yeah_15 小时前
个人 / 外包流媒体项目交付实战,M3U8 验收与问题闭环完整工作流
运维·网络·python·低代码·django·m3u8·在线播放
黄俊懿16 小时前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第十节:网关安全-单向加密
网络·数据库·计算机网络·安全·架构·系统架构·架构师
Patrick在香港16 小时前
Python 拉取城巴开放数据:406 条路线,香港岛巴士网络的数字画像
网络·python·数据分析·php·数据可视化·香港·开放数据
一直C17 小时前
Linux系统编程|进程间通信IPC全套详解(1)(管道、信号)
linux·c语言·开发语言·网络·青少年编程·visual studio code
Experience-摆渡17 小时前
自建 IP 轮换方案实战:健康探测 + 熔断剔除 + 粘性会话
网络·网络协议·tcp/ip
luj_176817 小时前
合法避税与投资评估实战指南
c语言·开发语言·网络·经验分享·算法