您现在的位置是:首页 > 编程 > 

【网络原理】——HTTP请求头中的属性

2025-07-27 07:03:30
【网络原理】——HTTP请求头中的属性 一:HTTP请求头1:HOST表示服务器主机地址和端口一般情况下,URL中的HOST与请求头中HOST是相同了。但是也有特殊情况,URL中的HOST指向的是一个代理服务器,请求头中的HOST指向的是最终的IP。2:Content-Length表示body中的数据长度HTTP底层也是基于TCP,连续传输多个HTTP数据报,接收方的接收缓冲区中就会累计多个包的数

【网络原理】——HTTP请求头中的属性

一:HTTP请求头

1:HOST

表示服务器主机地址和端口

一般情况下,URL中的HOST与请求头中HOST是相同了。

但是也有特殊情况,URL中的HOST指向的是一个代理服务器,请求头中的HOST指向的是最终的IP。

2:Content-Length

表示body中的数据长度

HTTP底层也是基于TCP,连续传输多个HTTP数据报,接收方的接收缓冲区中就会累计多个包的数据,就容易发生“粘包问题”

通过这个长度来处理“粘包问题”——明确包和包之间的边界

如果是没有body的请求/响应(例如GET),直接使用空行作为分隔符;

如果有body,就从空行开始读取body,长度取决于Content-Length

:Content-Type

上一篇文章说过,body中的数据格式有多种,也可以由程序员自己设置。这里的Content-Type表示body中的数据格式

(1)请求中常用的格式
①application/json

body就是json

②application/x-www-form-urlencoded

form-urlencode,称为表单:通过HTML中form标签构造出来的一种格式,这个格式的特点,是把query string放到body里了

(注:现在使用这种表单提交数据的方式越来越少了,json比较流行)

③multipart/form-data

form-data多用于上传文件时使用

(2)响应中常用格式

在进行抓包的时候,我们会发现有些目录颜是很淡的。(Ctrl+F5刷新就可以不用读缓存,而从服务器进行读取)

这是由于浏览器和服务器之间要进行多次网络交互,为了提高效率,会把一些固定不变的内容:像css,图片,json.....这些放到浏览器本地的机械硬盘上进行缓存,后续在请求直接读缓存,减少网络交互。

注:在广域网下,万兆网卡的读写速度只有千兆,不如机械硬盘。在局域网下万兆网卡才能完全达到万兆。

4:User-Agent(UA)

User-Agent简称UA,存储了操作系统的信息,和浏览器的信息。描述了用户用什么设备上网

(1)故事

我们知道,计算机发展极快,就会有一个现象:同一个时间段内,新旧并存——例如有的浏览器只能显示文本,有的浏览器除了文本还可以加入了图片,有的浏览器甚至可以支持动画...........

对于用户来说,有些用户使用的还是9键老年机,只能显示文本的那种;有些用户已经用上智能机可以显示图片了。那么问题来了:程序员在写一个网站的时候是否要使用新特性呢?如果使用,老设备就打不开;不使用,这个网站又没有竞争力了。

UA就可以解决上述问题

(2)UA的作用

服务器可以针对UA的信息进行判定,如果用户使用老设备,页面就不返回新特性;如果使用新设备,就返回新特性

随着互联网的发展,浏览器都差不多了,手机也都是智能机了,那UA是不是就没有作用了呢?

②我们知道PC电脑端的设备屏幕很大,移动端手机屏幕很小。那么我们返回对应的页面也就有差异——UA中包含系统信息,就可以判断系统是PC还是mobile,然后合适的页面大小。

使用手机浏览器的时候,我们手动把UA修改成PC端的UA,就能访问电脑版的网页了

(有人可能回想了,就算返回移动端,手机与手机之间的屏幕大小也有差异啊,这就涉及到响应式布局了,通过一套代码适应不同尺寸的显示器——在CSS中提供了一个特性“媒体查询”,可以感知到当前屏幕的尺寸,根据不同的尺寸,应用不同的格式,有兴趣的老铁可以深入研究一下)

5:Referer

描述了当前页面是从哪里来的

注:打开一个新的浏览器/点击收藏夹,打开的网页,此时抓的包是没有referer

举个例子:我们打开像搜狗,百度这些网页进行搜索的时候,往往会蹦出来好些广告,用户点击这些广告,搜狗就能赚米,referer就能起到一个记录一个点击是从哪里来的,统计次数,广告爸爸发米~。为了避免referer被篡改,就引入了HTTPS中的SSL加密协议。

SSL把header和body进行加密,传输的时候就是密文了,所以知道今天,我们在网络上看到的网站大多都是https

6:Cookie

Cookie是浏览器中持久化存储数据的一种机制,是报头中非常重要的属性

(1)引入

浏览器作为电脑上的一个程序,可以通过调用操作系统中相关文件的API,来读写本地磁盘文件,但是为了避免黑客做出来恶意网页攻击电脑,网页一般是被禁止读写访问操作的。

但是像有些需要登录操作的网页就需要储存(读写)信息了,所以浏览器退而求其次,给网页提供这样的API——可以有限度的存储数据,但是不能随意的访问文件系统——常见的像Cookie,LocalStorage,IndexDB.

(2)Cookie有关结论
①Cookie从哪来

第一次访问浏览器(首次登录/访问成功后),服务器返回给浏览器的。

②Cookie到哪去

Cookie会存储在浏览器本地主机的硬盘中,后续每次访问服务器都会带上Cookie。不同的客户端,保存的Cookie也是不同的——即使是同一个主机使用不同的浏览器在登录页面操作,Cookie也不同

③Cookie中存什么

键值对的数据,程序员自定义

④Cookie如何组织

在硬盘本地保存,按照不同的域名为维度分别存储

⑤Cookie的用途

用来在客户端保存数据,最主要的保存用户的身份标识,服务器就可以通过标识来区分用户,而一些业务数据一般是存储在服务器中的

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-12-0,如有侵权请联系 cloudcommunity@tencent 删除数据网络原理http浏览器

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1210085.html

相关标签:无
上传时间: 2025-07-25 00:30:53

上一篇:原生APP的开发特点

下一篇:[oceanbase] ob

留言与评论(共有 17 条评论)
本站网友 销售毛利
2分钟前 发表
万兆网卡的读写速度只有千兆
本站网友 眼外伤
19分钟前 发表
注:在广域网下
本站网友 蝙蝠飞到家里是什么预兆
22分钟前 发表
和浏览器的信息
本站网友 泰国减肥药反弹
5分钟前 发表
连续传输多个HTTP数据报
本站网友 买房子上什么网
23分钟前 发表
就算返回移动端
本站网友 失眠了怎么办
8分钟前 发表
这就涉及到响应式布局了
本站网友 1433端口
21分钟前 发表
最主要的保存用户的身份标识
本站网友 paintdotnet
19分钟前 发表
所以知道今天
本站网友 上海胃肠医院
16分钟前 发表
而从服务器进行读取)这是由于浏览器和服务器之间要进行多次网络交互
本站网友 动态域名
16分钟前 发表
(Ctrl+F5刷新就可以不用读缓存
本站网友 苦丁茶的功效与作用
7分钟前 发表
如有侵权请联系 cloudcommunity@tencent 删除前往查看数据网络原理http浏览器
本站网友 hp下载
26分钟前 发表
但是像有些需要登录操作的网页就需要储存(读写)信息了
本站网友 金海国际影城
7分钟前 发表
如果用户使用老设备
本站网友 世界篮球排名
18分钟前 发表
减少网络交互
本站网友 南京金鹰失火
25分钟前 发表
描述了用户用什么设备上网(1)故事我们知道
本站网友 第二性
5分钟前 发表
Cookie也不同③Cookie中存什么键值对的数据