【网络原理】——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组装电脑配置单推荐报价格
上一篇:原生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中存什么键值对的数据 |