【网络原理】——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的用途

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

相关文章
|
17天前
|
安全 测试技术 虚拟化
VMware-三种网络模式原理
本文介绍了虚拟机三种常见网络模式(桥接模式、NAT模式、仅主机模式)的工作原理与适用场景。桥接模式让虚拟机如同独立设备接入局域网;NAT模式共享主机IP,适合大多数WiFi环境;仅主机模式则构建封闭的内部网络,适用于测试环境。内容简明易懂,便于理解不同模式的优缺点与应用场景。
131 0
|
15天前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
231 11
|
17天前
|
存储 网络协议 算法
从HPACK到多路复用,揭秘HTTP/2如何终结网络拥堵
HTTP/2通过HPACK压缩头部冗余信息,提升传输效率;并利用多路复用技术,在单个TCP连接上并行处理多个请求,避免队头阻塞,显著提升性能。同时支持服务器推送和流优先级设置,优化资源加载体验。
62 7
|
27天前
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
118 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解
|
4月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
248 61
|
3月前
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
181 7
|
3月前
|
存储 缓存 监控
解读HTTP请求头参数
简而言之,HTTP请求头是Web通信机制的基石之一,为服务端和客户端之间提供了灵活而强大的数据交换手段。掌握它们的使用,不仅可以加深对Web工作原理的理解,更能在实际开发中发挥出它们的最大潜能。
525 7
|
4月前
|
Web App开发 网络协议 应用服务中间件
HTTP2.0 从原理到实践,保证把你治得服服帖帖!
HTTP/2 是 HTTP/1.1 的重要升级,通过多路复用、头部压缩、服务器推送等特性显著提升性能与效率。本文详细解析了 HTTP/2 的优势、配置方法及实际应用,涵盖 Nginx/Apache/IIS 配置、curl 测试工具使用,并对比 HTTP/1.1 指出其优化点。同时提醒需注意 HTTPS 支持、客户端兼容性等问题,助你高效掌握并运用 HTTP/2 技术。
397 5
HTTP2.0 从原理到实践,保证把你治得服服帖帖!
|
4月前
|
缓存
HTTP协议深度剖析:常见请求头信息讲解
这就是HTTP请求头背后的工作原理,希望通过比作“邮差”和“标签”,可以让你对这个繁琐技术更有感触,更得心应手。尽管这些信息可能很琐碎,但了解了它们的含义和工作方式,就等于揭开了HTTP协议神秘的面纱,掌控了网络交流的核心。你还等什么,赶快动手尝试一下吧!
133 17
|
4月前
|
JSON 编解码 API
Go语言网络编程:使用 net/http 构建 RESTful API
本章介绍如何使用 Go 语言的 `net/http` 标准库构建 RESTful API。内容涵盖 RESTful API 的基本概念及规范,包括 GET、POST、PUT 和 DELETE 方法的实现。通过定义用户数据结构和模拟数据库,逐步实现获取用户列表、创建用户、更新用户、删除用户的 HTTP 路由处理函数。同时提供辅助函数用于路径参数解析,并展示如何设置路由器启动服务。最后通过 curl 或 Postman 测试接口功能。章节总结了路由分发、JSON 编解码、方法区分、并发安全管理和路径参数解析等关键点,为更复杂需求推荐第三方框架如 Gin、Echo 和 Chi。

热门文章

最新文章