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

简介: HTTP请求头,HOST、Content-Agent、Content-Type、User-Agent、Referer、Cookie。

  image.gif 编辑

阿华代码,不是逆风,就是我疯

你们的点赞收藏是我前进最大的动力!!

希望本文内容能够帮助到你!!

目录

一:HTTP请求头

1:HOST

2:Content-Length

3:Content-Type

(1)请求中常用的格式

①application/json

②application/x-www-form-urlencoded

③multipart/form-data

(2)响应中常用格式

4:User-Agent(UA)

(1)故事

(2)UA的作用

5:Referer

6:Cookie

(1)引入

(2)Cookie有关结论

①Cookie从哪来

②Cookie到哪去

③Cookie中存什么

④Cookie如何组织

⑤Cookie的用途


一:HTTP请求头

1:HOST

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

image.gif 编辑

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

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

2:Content-Length

表示body中的数据长度

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

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

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

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

3:Content-Type

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

(1)请求中常用的格式

①application/json

body就是json

②application/x-www-form-urlencoded

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

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

image.gif 编辑

③multipart/form-data

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

(2)响应中常用格式

image.gif 编辑 image.gif 编辑

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

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

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

4:User-Agent(UA)

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

image.gif 编辑

(1)故事

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

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

UA就可以解决上述问题

(2)UA的作用

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

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

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

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

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

5:Referer

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

image.gif 编辑

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

image.gif 编辑

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

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

6:Cookie

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

(1)引入

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

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

image.gif 编辑

(2)Cookie有关结论

①Cookie从哪来

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

②Cookie到哪去

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

③Cookie中存什么

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

④Cookie如何组织

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

image.gif 编辑

image.gif 编辑 image.gif 编辑

⑤Cookie的用途

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

相关文章
|
27天前
|
机器学习/深度学习 算法 PyTorch
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
127 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
|
1月前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
1月前
|
域名解析 网络协议 关系型数据库
【网络原理】——带你认识IP~(长文~实在不知道取啥标题了)
IP协议详解,IP协议管理地址(NAT机制),IP地址分类、组成、特殊IP地址,MAC地址,数据帧格式,DNS域名解析系统
|
1月前
【网路原理】——HTTP状态码和Postman使用
状态码(200,404,403,405,500,504,302),Postman下载和使用构造请求
|
1月前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
Web App开发 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
异步通信 对于BS(Browser-Server 浏览器)架构,很多情景下server的处理时间较长。 如果浏览器发送请求后,保持跟server的连接,等待server响应,那么一方面会对用户的体验有负面影响; 另一方面,很有可能会由于超时,提示用户服务请求失败。
778 0
|
Web App开发 前端开发 Java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
ZooKeeper 保证了数据的强一致性,  zk集群中任意节点(一个zkServer)上的相同znode下的数据一定是相同的。
815 0
|
Web App开发 前端开发
|
Web App开发 大数据
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
                                                                               1.
1745 0
|
Web App开发 前端开发 Java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
 Connection reset by peer的常见原因: 1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭;    如果知道实际连接服务器的并发客户数没有超过服务器的承载量,看下有没有网络流量异常。
870 0