首页 > 其他分享 >let 和 const 与 var 的区别;什么是同源策略?简述 HTTP 请求的过程

let 和 const 与 var 的区别;什么是同源策略?简述 HTTP 请求的过程

时间:2024-10-24 10:16:16浏览次数:3  
标签:浏览器 请求 响应 let 申明 服务器 var HTTP const

同源策略是一种安全机制,它是浏览器对 JavaScript 实施的一种安全限制。所谓“同源”是指域名、协议、端口号均相同。同源策略限制了一个页面中的脚本只能与同源页面的脚本进行交互,而不能与不同源页面的脚本进行交互。这是为了防止恶意脚本窃取数据、进行 XSS 攻击等安全问题。

同源策略限制的资源包括:

  • Cookie、LocalStorage 和 IndexDB 等存储性资源
  • AJAX、WebSocket 等发送 HTTP 请求的方法
  • DOM 节点
  • 其他通过脚本或插件执行的跨域请求

这些资源只能与同源页面进行交互,不能与不同源的页面进行交互



 

1、不存在变量提升
必须先定义后使用,否则报错

2、暂时性死区
在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ)。

3、不允许重复申明/不允许在函数内部重新申明参数(也算重复申明)

4.1 SE5的作用域
1)、内层变量覆盖外层的变量
2)、用来计数的循环变量会泄露为全局变量

5、const是一个常量,一旦声明,就不能改变。而且在申明的时候必须初始化,不能留到后面赋值。

6、在ES5里面,var 在全局作用域下申明的变量,会自动生为window的属性:
没法在编译过程爆出变量为申明的错误,语法上顶层对象有一个实体含义的对象这样肯定不合适。
用var定义的依然会升级为顶层对象(全局对象)window的属性;但是let,const申明则不会。

 

HTTP(Hypertext Transfer Protocol)是一种用于传输数据的协议。当我们在浏览器中输入 URL,点击链接或提交表单时,浏览器会发送 HTTP 请求,并等待服务器的响应。以下是 HTTP 请求的基本过程:

建立连接:浏览器向服务器发出连接请求,服务器接受请求并建立连接。

发送请求:浏览器向服务器发送 HTTP 请求。请求包括请求方法(GET、POST、PUT、DELETE等)、请求头(包含一些元数据,如 Accept、Content-Type、Authorization 等)、请求体(POST 和 PUT 请求会带上数据)等。

接受请求:服务器接受请求并解析请求。服务器会根据请求的内容进行相应的处理,如查询数据库、读取文件等。

发送响应:服务器向浏览器发送 HTTP 响应。响应包括响应状态码、响应头、响应体等。常见的响应状态码包括 200 OK、404 Not Found、500 Internal Server Error 等。

接受响应:浏览器接受响应并解析响应。浏览器会根据响应的内容进行相应的处理,如渲染页面、执行 JavaScript 等。

断开连接:请求处理完毕后,浏览器和服务器会断开连接。

需要注意的是,HTTP 是一种无状态协议,即每次请求都是独立的,服务器不会保留任何关于请求的信息。为了保持客户端与服务器之间的状态,通常使用 Cookie 或 Session 等机制来保存状态信息。

此外,现代浏览器通常会使用 HTTP 缓存来提高性能。当浏览器发送请求时,如果发现资源已经在本地缓存中存在,就会直接使用缓存的版本,而不是重新从服务器下载。可以使用 Cache-Control、Expires 等响应头控制缓存的行为。

标签:浏览器,请求,响应,let,申明,服务器,var,HTTP,const
From: https://blog.csdn.net/m0_74223728/article/details/143143986

相关文章

  • new、delete重载实现对象池
    new、delete重载实现对象池重载new之后,函数执行完成之后会自动调用构造函数;同样的delete是先析构在执行内存释放。对象池当有大量的开辟空间与释放空间的操作时,会影响程序的执行性能。因此,可以预先开辟出一块内存,需要创建对象的时候去取,需要释放的时候,归还内存。那么程序......
  • C++中指针、引用与const的深入解析
    一、对数组的引用constintn=10;intar[n]={12,23,34,45,56,67,78,89,100};描述数组:类型加上原始空间大小。​int&ra=ar[1];​int&br=ar;//errorint(&br)[n]=ar;//okint*pa[10];int&pr[10];//error;为什么不能编译成功引用数组的概念:在C++中,......
  • tomcat从安装到配置全过程(外加servlet炸包添加方法)
    tomcat写这篇笔记的原因很简单:今天脑海中冒出tomcat配置和servlet配置的问题,记不太清了,就像找找笔记,我明明记得之前记过相关的笔记,就是再笔记里面找不到了,只好重新梳理归纳一下了!一、tomcat启动后首页访问问题1.项目初始创建的jsp文件删除,会导致启动后首页出现404错误二、To......
  • java毕业设计下载(全套源码+配套论文)——基于java+jsp+Servlet的B2C网上拍卖系统设计与
    基于java+jsp+Servlet的B2C网上拍卖系统设计与实现(毕业论文+程序源码)大家好,今天给大家介绍基于java+jsp+Servlet的B2C网上拍卖系统设计与实现,更多精选毕业设计项目实例见文末哦。文章目录:基于java+jsp+Servlet的B2C网上拍卖系统设计与实现(毕业论文+程序源码)1、项目简......
  • Future和CompletableFuture的理解
    使用CompletableFuture的方法直接使用CompletableFuture提交任务使用CompletableFuture.runAsync()或CompletableFuture.supplyAsync(),这些方法会使用默认线程池来执行异步任务。适合快速启动简单的异步操作,不需要额外的线程池管理。使用CompletableFuture并指......
  • 生产数据恢复系列之使用闪回查询恢复Oracle delete误删数据
    一、背景在日常运维过程中,如果不小心使用高危命令删除了数据库的数据,如果没有数据备份,记住不要跑路噢,跟着我一起学习如何恢复数据。二、概念普及UNDO表的作用Undo表存储了已提交和未提交事务所产生的旧数据版本,在需要回滚事务或实现并发控制时使用。每当对数据库进行DM......
  • cannot bind non-const lvalue reference of type ‘QDomElement&’ to an rvalue of
    /mnt/hgfs/SharedFolders/KingKongNano/YiKingStudio/TopoConfig/topoconfigwindow.cpp:2079:error:cannotbindnon-constlvaluereferenceoftype‘QDomElement&’toanrvalueoftype‘QDomElement’FreshPdoandVarIndex(TopologyVarFileDocDemo->document......
  • scran doubletCluster
      Identifypotentialclustersofdoubletcellsbasedonwhethertheyhaveintermediateexpressionprofiles,i.e.,theirprofilesliebetweentwoother“source”clusters.Thisfunctionisnowdeprecated,usefindDoubletClustersfromscDblFinderinstead.......
  • 单细胞分析 library(DropletUtils) Error in testEmptyDrops(m, lower = lower, ...)
     单细胞分析library(DropletUtils)emptyDrops()ErrorintestEmptyDrops(m,lower=lower,...):nocountsavailabletoestimatetheambientprofile 问题分析和答复:  我试图阻止人们以错误的方式使用该功能,这让你感到困惑。CellRanger生成两组计数矩阵——原始......
  • ES6-变量、常量(let、const)
    变量声明//声明变量leta;letb,c,d;lete=100;letf=521,g='iloveyou',h=[];//1.变量不能重复声明//letstar='罗志祥';//letstar='小猪';//2.块儿级作用域全局,函数,eval//ifelsewhilefor//{//letgirl='周扬青';......