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

相关推荐
发光小北5 小时前
四路can转WIFI在现场应用中有什么问题?
网络协议
不像程序员的程序媛6 小时前
检测网络的命令mtr详解
网络
天启HTTP6 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
运维行者_7 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
hz567899 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
优橙教育9 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
AIgorithmGEEK9 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
长按助力退休12 小时前
HTTP缓存从强缓存到协商缓存,前端性能优化第一步
http
物联网软硬件开发-轨物科技13 小时前
【轨物洞见】什么是产品碳足迹(PCF)?ISO 14067 计算方法与应用场景深度解读
大数据·网络·人工智能