当前位置: 首页 > news >正文

Web学习笔记2

Web会话机制

1、查看Http的请求头和响应头

打开浏览器,输入B站网址,按F12打开浏览器开发者模式,找到post请求:

基本信息包括:

scheme:表示协议类型

Host:表示请求的主机地址

地址:表示请求主机的IP地址和端口号,上图端口号为443

状态:表示请求主机的状态码,上图为200,表示成功处理

版本:协议版本号

referer策略:表示过滤referer报头的规则

请求头信息包括:

请求头包括: 

Accept:表示支持的文件类型,若Accept为*/*,则代表浏览器支持各种文件

Accept-encoding:表示浏览器支持的压缩格式

Accept-language:表示浏览器支持的语言,zn-cn;Zh;q=0.8代表支持中文

cookie:表示cookie参数

connection:表示连接状态,“keep-alive”表示浏览器与服务器保持连接

refer:表示消息主体大小

user-Agent:表示客户端浏览器和操作系统相关信息

响应头包括:

access-control-allow-credentials:表示是否可以将请求的响应暴露给页面,返回true表示可以,佛则为不可以

access-control-allow-origin:表示指定该资源是否允许给定的oringin共享

content-encoding:对当前实体消息应用的编码类型

content-type:表示资源的多用途互联网邮件拓展类型

date:表示当前格林尼治时间

server:表示请求的源服务器用到的软件相关信息

2、Cookie

Cookie和Session都是用于维护客户端和服务器会话的技术,Cookie存储在客户端,Session存储在服务端。Cookie是浏览器保存的所有访问Web应用的相关信息的小型文本文件,由服务器以响应头的形式发送给客户端,客户端自动保存,之后每次客户端向服务器发送请求时都会携带Cookie,这样服务器可以根据Cookie识别不同的用户

一个Cookie只能表示一种信息,其各个属性包括(一个cookie至少有<Name><Value>两个信息):

<Name><Value>[path][Domain][Expires/Max-time][Secure][Httponly]

Name:Cookie名称,不区分大小写

Value:Cookie对应的值

Path:可以访问该cookie的页面路径,浏览器根据path向指定域中匹配的路径发送cookie

Domain:可以访问该cookie的域名,域名可以选择包含或不包含子域

Expires/Max-time:失效时间,浏览器停止向服务器发送cookie的时间,若不设置,浏览器关闭后cookie自动失效

Secure:安全设置,设置cookie是否只能通过https协议传输

Httponly:若为true则只能在http的请求头里包含cookie,不能通过documents.cookie来访问

cookie的工作原理为:

(1)创建cookie:当用户第一次访问一个网站时,网站服务器会为用户产生唯一识别码,并创建一个cookie对象,并在响应头里的set-cookie设置为这个对象,创建的cookie默认在浏览器缓存中,若设置了Expires/Max-time则会存放在浏览器对应的磁盘上

(2)存储cookie:浏览器在接收到响应头时,会根据set-cookie的参数生成cookie,并保存在客户端,下次再连接这个网站则在请求头中一并发送

(3)发送cookie:若用户再次访问该网站,浏览器会在存储中寻找有无对应的cookie,若有则包含在请求头中一并发出

(4)读取cookie:服务器接受到请求后读取响应头里的cookie,cookie中保存着识别用户的相关信息(例如有些网站在登录过一遍时第二次无需登录是因为cookie中有用户的账号密码)

3、Session

Session就是保存在服务器上的用户信息形式,Session机制就是当服务器接收到Cookie时,通过Session检查有无对应的用户信息,Session的工作原理为:

(1)创建Session:用户第一次向服务器传输请求时,服务器生成session对象,该对象有唯一的session_id,并开辟内存块,session_id通过响应头发送给客户

(2)存储Session:客户收到session_id后会将其存储在cookie中,并在下次请求时将这个id带在cookie中发送给服务器

(3)发送Session

(4)读取Session:当服务器接收到这个id时,会判断session中是否存在这个id,若有,则找到与这个id对应的文件;若无,则创建一个新的session_id。session_id若超时或被关闭,服务器则销毁这个session并释放内存块

http://www.dtcms.com/a/272077.html

相关文章:

  • 使用球体模型模拟相机成像:地面与天空的可见性判断与纹理映射
  • 「py数据分析」04如何将 Python 爬取的数据保存为 CSV 文件
  • 基于Python的程序员数据分析与可视化系统的设计与实现
  • 三、神经网络——网络优化方法
  • 线上事故处理记录
  • XMAPP MySQL 启动后自动停止
  • 【实战】Dify从0到100进阶--文档解读(1)开源许可和大模型适配
  • Using Spring for Apache Pulsar:Transactions
  • MySQL断开连接后无法正常启动解决记录
  • 第一次搭建数据库
  • JavaScript 树形菜单总结
  • 2025社交电商新风口:推客小程序的商业逻辑与技术实现
  • 数据结构与算法之美:广义表
  • 通过vue如何利用 Three 绘制 简单3D模型(源码案例)
  • Redis中BigKey的隐患
  • Mysql分片:一致性哈希算法
  • 服务器内核级故障排查
  • 【计算机网络】HTTP1.0 HTTP1.1 HTTP2.0 QUIC HTTP3 究极总结
  • 【Python办公】使用Python和Tkinter构建Excel数据导入MySQL工具(GUI版)
  • 如何排查处理机械臂算法不精准问题?
  • 在徐州网络中服务器租用与托管的优势
  • LangChain框架 Prompts、Agents 应用
  • 浅克隆 深克隆
  • mvn能只test单独一个文件吗
  • vscode和插件用法
  • 数据分析中的拉链表解析
  • 网络安全初级
  • 从Rust模块化探索到DLB 2.0实践|得物技术
  • Linux进程——进程状态
  • ZW3D 二次开发-创建球体