浏览器中“Cookies"具体有啥作用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浏览器中“Cookies"具体有啥作用?相关的知识,希望对你有一定的参考价值。

浏览器中“Cookies"是指服务器暂存放在你的电脑里的txt格式的文本文件资料,主要用于网络服务器辨别电脑使用。比如浏览网站时,Cookies记录下来你输入的一些资料和信息。再访问同一个网站,就会依据Cookie里的内容来判断使用者,送出特定的信息内容给你。

平时上网时都是使用无状态的HTTP协议传输出数据,这意味着客户端与服务端在数据传送完成后就会中断连接。这时我们就需要一个一直保持会话连接的机制。

在session出现前,cookie就完全充当了这种角色。也就是,cookie的小量信息能帮助我们跟踪会话。一般该信息记录用户身份。当然cookie也常记录跟踪购物车的商品信息(如数量)、记录用户访问次数等。

Cookies一词用在程序设计中是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。从本质上讲,它可以看作是你的身份证。保存的信息片断以"名/值"对(name-valuepairs)的形式储存,一个"名/值"对仅仅是一条命名的数据。

一个网站只能取得它放在你的电脑中的信息,它无法从其它的Cookies文件中取得信息,也无法得到你的电脑上的其它任何东西。Cookies中的内容大多数经过了加密处理,因此一般用户看来只是一些毫无意义的字母数字组合,只有服务器的CGI处理程序才知道它们真正的含义。

硬盘中的Cookies文件可以被Web浏览器读取,它的命名格式为:用户名@网站地址[数字].txt。如笔者计算机中的一个Cookies文件名为:ch@163[1].txt。

/iknow-pic.cdn.bcebos.com/11385343fbf2b211a819ab3fc48065380cd78e8f"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/11385343fbf2b211a819ab3fc48065380cd78e8f?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"/>

扩展资料:

Cookies的应用

1、网站浏览人数管理。由于代理服务器、缓存等的使用,能帮助网站精确统计来访人数的方法就是为每个访问者建立一个的ID。使用Cookie,网站可以完成以下工作:测定多少人访问过;测定访问者中有多少是新用户(即第一次来访),多少是老用户;测定一个用户多久访问一次网站。

通常情况下,网站设计者是借助后台数据库来实现以上目的的。当用户第一次访问该网站时,网站在数据库中建立一个新的ID,并把ID通过Cookie传送给用户。用户再次来访时,网站把该用户ID对应的计数器加1,得到用户的来访次数或判断用户是新用户还是老用户。

2、Cookies被删除时。假如你的浏览器不能正常工作,你可能会删除电脑上所有的临时Internet文件。然而,一旦这样操作以后,你就会丢掉所有的Cookies文件。

当你再次访问一个网站时,网站会认为你是一位新用户并分配给你一个新的用户ID以及一个新的Cookie。结果将会造成网站统计的新老用户比发生偏差,而你也难以恢复过去保存的参数选择。

3、一人使用多台电脑时。有的人一天之中经常使用一台以上的电脑。例如在办公室里有一台电脑、家里有一台、还有移动办公用的笔记本电脑。

除非网站使用了特别的技术来解决这一问题,否则,你将会有三个不同的Cookies文件在这三台机器上,而在三台机器上访问过的任何网站都将会把你看成三个不同的用户。

参考资料来源:/baike.baidu.com/item/cookies/187064#viewPageContent"target="_blank"title="百度百科—cookies">百度百科—cookies

参考技术A Cookies亦称Cookie
Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。
从本质上讲,它可以看作是你的身份证。但Cookies不能作为代码执行,也不会传送病毒,且为你所专有,并只能由提供它的服务器来读取。保存的信息片断以“名/值”对(name-value
pairs)的形式储存,一个“名/值”对仅仅是一条命名的数据。一个网站只能取得它放在你的电脑中的信息,它无法从其它的Cookies文件中取得信息,也无法得到你的电脑上的其它任何东西。
Cookies中的内容大多数经过了加密处理,因此一般用户看来只是一些毫无意义的字母数字组合,只有服务器的CGI处理程序才知道它们真正的含义。
由于Cookies是我们浏览的网站传输到用户计算机硬盘中的文本文件或内存中的数据,因此它在硬盘中存放的位置与使用的操作系统和浏览器密切相关。在Windows
9X系统计算机中,Cookies文件的存放位置为C:WindowsCookies,在Windows
NT/2000/XP的计算机中,Cookies文件的存放位置为C:\Documents
and
Settings\用户名\Cookies。
参考技术B 简单的说,Cookie就是服务器暂存放在你计算机上的一笔资料,好让服务器用来辨认你的计算机。当你在浏览网站的时候,Web服务器会先送一小小资料放在你的计算机上,Cookie
会帮你在网站上所打的文字或是一些选择,都记录下来。当下次你再光临同一个网站,Web服务器会先看看有没有它上次留下的Cookie资料,有的话,就会依据Cookie里的内容来判断使用者,送出特定的网页内容给你。
也就是说,有了这个Cookie,你下次打开浏览过的网页就会很快。
参考技术C COOKIE是一个自动记录你每次登录一个网站的用户名和密码用的,如果你是自己用一台计器,建议保留COOKIE,这样下次就不能再登陆了,如果不是,建议不要保留, 参考技术D 网站用来保存你的信息。比如你在某个网站登录时设置了记住密码,密码就保存在cookies里头。
还有保存其他的东西。

离子应用程序在系统浏览器中打开链接

【中文标题】离子应用程序在系统浏览器中打开链接【英文标题】:Ionic application open link in system browser 【发布时间】:2016-02-22 20:02:36 【问题描述】:

我想在系统浏览器中打开链接,例如在 ios 中的 safari 和 android chrome 中(无论默认浏览器是什么)。

我遇到的问题是该链接确实在系统浏览器中打开,但它也在应用程序中打开。我希望链接只在系统浏览器中打开,而不是在应用程序中。

这是我的代码。

<a ng-href="http://example.com/login/user._id" onclick="window.open(this.href, '_system', 'location=yes')" class="ion-home color-primary item"> Dashboard</a>

请记住,我还将一个 id 传递给我的端点。

【问题讨论】:

【参考方案1】:

试试

<a class="ion-home color-primary item" href="#" onclick="window.open('http://example.com/login/user._id', '_system', 'location=yes'); return false;"> Dashboard</a>

【讨论】:

我们需要有这个选项的插件吗? 没有。它应该在设备的默认浏览器上打开。如果你想在不离开应用的情况下打开一个窗口,你可能需要一个插件。 这对我很有用。就我而言,我需要使用设备浏览器打开链接,因为我希望用户能够在文档中找到文本。我无法使用 inAppBrowser 在 ionic 4 中,此方法在 Android 上的 App 中打开 URL,而在 iOS 中根本不打开。由于 Ionic 发生了变化,我不会拒绝这个答案,但是 InAppBrowser 插件的效果要好得多。 嘿,您的解决方案也对我有用,但您能解释一下 _system 和 location=yes 的作用吗?【参考方案2】:

在较新的(3.0) 版本中App Browser Plugin 是更好的解决方案。

<button ion-button block clear (click)="openWebpage(url)">Open Webpage</button>

openWebpage 方法是这样的

 openWebpage(url: string) 
        const options: InAppBrowserOptions = 
          zoom: 'no'
        

        // Opening a URL and returning an InAppBrowserObject
        const browser = this.inAppBrowser.create(url, '_self', options);

       // Inject scripts, css and more with browser.X
      

【讨论】:

目标不应该是'_self'。它应该是 '_system' 来完成实际的问题。【参考方案3】:

您可以使用 InAppBrowser 插件 https://cordova.apache.org/docs/en/3.0.0/cordova/inappbrowser/inappbrowser.html 来做到这一点

如果您出于某种原因不想使用插件,请查看我对类似问题的回答:https://***.com/a/30397786/1630623

编辑:如果您已经在使用该插件,您可能需要删除 onclick 代码并添加 target="_system",或者在 onclick 处理程序中添加 event.preventDefault();

【讨论】:

【参考方案4】:

简单的解决方案

<a href="#" onclick="window.open('https://www.badhaobusiness.in',
     '_system', 'location=yes'); return false;"> www.badhaobusiness.in</a>

【讨论】:

【参考方案5】:

Capacitor 有一个易于使用的插件,用于启动应用内浏览器。

https://capacitorjs.com/docs/apis/browser

安装:

npm install @capacitor/browser
npx cap sync

用法:

import  Browser  from '@capacitor/browser';

const openCapacitorSite = async () => 
    await Browser.open( url: 'http://capacitorjs.com/' );
;

【讨论】:

以上是关于浏览器中“Cookies"具体有啥作用?的主要内容,如果未能解决你的问题,请参考以下文章

如何在浏览器中启用Cookie

浏览器中的cookie存储

在MyEclipse中如何发布项目,并在浏览器中查看项目?

如何在Swing中嵌入浏览器

在 Web 浏览器中运行 WPF 浏览器应用程序

微信小程序中怎么跳转到手机自带的浏览器?