-
IQ——什么是网页静态化?模板引擎实现原理是什么?
2021-01-06 11:34:23一些浏览量比较大的门户网站,特别是新闻网站等图文网站,就会大量采用网页静态化技术,比如Freemarker技术。 举例: 在处理电商平台商品详情页显示过程中,涉及到大量的数据库读操作,这时候为了降低数据库压力。...网页静态化
WEB开发中,静态网页:网站中大部分超链接所引用的页面是单独的HTML静态页面。一些浏览量比较大的门户网站,特别是新闻网站等图文网站,就会大量采用网页静态化技术,比如Freemarker技术。
举例:
在处理电商平台商品详情页显示过程中,涉及到大量的数据库读操作,这时候为了降低数据库压力。采用模板引擎技术,提前生成商品详情页的静态页面,这样线上用户在访问详情页的时候,就不用再读取数据库,可以极大的降低数据库的压力。好处:
1)不需要动态生成html、访问数据库等操作,会大大提升页面浏览速度
2)有利于搜索引擎收录网站页面信息(就像一篇文章一样,是“死”的,不会随时变化,便于收录,制作成字典的一部分)
3)减轻服务器的压力
4)不会时常与数据库等建立联系,安全模板引擎的原理
预先定义好模板(一个死的文件),然后准备动态数据,最后调用模板引擎进行渲染,输出静态页面。
-
XSS网络攻击与的原理是什么(面试)
2020-07-07 16:24:42XSS网络攻击的原理是什么 XSS是大部分的黑客进行网络攻击的手段,XSS的全称是Cross Site Script,就是跨站点脚本攻击,意思就是说,黑客恶意篡改你的网页的前端代码,在里面注入一些他自己的html+javascript的脚本...XSS网络攻击的原理是什么
XSS是大部分的黑客进行网络攻击的手段,XSS的全称是Cross Site Script,就是跨站点脚本攻击,意思就是说,黑客恶意篡改你的网页的前端代码,在里面注入一些他自己的html+javascript的脚本和代码,然后你比如在访问那个网站的网页的时候,他注入的那些恶意脚本就会运行了。
恶意脚本运行的时候就会控制你的浏览器,这个时候他的脚本就可以做很多很多的事情了。
第一种XSS攻击是反射型攻击,他主要是想办法让你点击一个URL链接,在这个URL链接里就嵌入他自己的恶意脚本,你点击那个URL链接之后,那个URL指向的是黑客自己的服务器上的一段恶意脚本。然后恶意脚本被返回到你的浏览器里就会运行,然后就可以控制你的浏览器里的行为了,这个控制行为就很恐怖了,他可以干很多的事儿,比如说脚本可以自动让你关注某个用户ID,然后控制你自动发布一个带有病毒的微博,这是比较简单的。实际上来说,一段恶意的js脚本,几乎可以说是无恶不作的,因为他一旦控制了你的浏览器就可以得到大量的东西,大家都知道浏览器里包含了你的一些cookie,有的浏览器可能还存储了你的密码,通过知道你的cookie,就可以利用cookie伪造你的用户登录的session状态,去以你这个用户的名义干一些事儿。
另外一种XSS攻击是叫做持久型攻击,这个意思就是说,举个例子,比如是个什么论坛、或者社交网站之类的系统,不是你可以发布一些帖子啊,或者是评论啥的内容么,此时黑客就可以在里面写一段恶意脚本。然后把恶意脚本混杂在评论内容里提交到你的网站的数据库里去。然后后面比如其他用户在社交网站里浏览到了你的这个评论,评论内容会被返回到浏览器里去,此时评论内容是包含恶意js脚本的,马上恶意脚本运行,又可以干坏事儿了,干的坏事儿就跟之前是一样的。
防止XSS攻击,一般来说手段有如下两种:
消毒机制,这就是说,如果黑客在一些评论之类的内容里混入恶意脚本,那么你的代码里必须对内容进行消毒,就是进行一些转义,比如说把>转义为>之类的,这样就可以把恶意脚本里的html标签、js代码之类的东西,都给转义掉,让这些恶意脚本失效。
<html> -> <html>,这种东西在浏览器里是不会运行的。
<html><script>// 包含恶意脚本</script></html>。
这样的话,转义以后的脚本被其他用户看到的时候也不会在浏览器里运行了。
HttpOnly方式,这个意思是说如果你在浏览器里存放cookie的时候,可以设置一个HttpOnly属性,比如说存放用户加密认证信息的cookie,这样的话,在浏览器里运行的js脚本是被禁止访问这些HttpOnly cookie的,他就无法窃取你在浏览器里存储的cookie了。
-
记一次访问网页的过程深度讲解网络通信原理
2018-11-01 17:20:01会话层/表示层没什么好讲的,都是程序员调用的,就是对报文进行编码。 传输层:TCP/UDP,基础不讲,作用通俗的讲就是不管怎么传输,数据肯定可以点对点的传输,而传输层的协议就是对这个传输的过程进行控制。 网络...ISO网络七层:
应用层:HTTP/HTTPS/SSH/FTP/TELNET等,泛指具有网络通讯的应用程序,而这些应用层的协议只是被应用程序应用而已。
会话层/表示层没什么好讲的,都是程序员调用的,就是对报文进行编码。
传输层:TCP/UDP,基础不讲,作用通俗的讲就是不管怎么传输,数据肯定可以点对点的传输,而传输层的协议就是对这个传输的过程进行控制。
网络层:IP/ICMP/IGMP/ARP/RARP,这一层的作用是告诉计算机在网络中传送报文的路径等等。
数据链路层:就是MAC,全球唯一的物理地址,网卡出场时写在里面的,而网络中报文的传输就是靠识别MAC地址来进行传输的。
物理层:010101010101的信号在通信介质中传输。
通信:
其实用浏览器浏览网页,用ssh/ftp等连接远处主机,用播放器听歌看电影,玩游戏,他们的数据传输过程都是一样的,不同的就是应用层的协议,传出层的协议不同而已,下面以用户用浏览器浏览网页的过程作为例子。
浏览器访问网页的过程:
用户每打开一个页面,就是一个新的进程,网络通讯其实就是不同主机之间进程的通信,端口用来标识进程,区分进程。用户在浏览器输入网址,浏览器对域名进行域名解析,此处域名解析步骤不在阐述,就是将域名解析成对应的公网IP地址,浏览器默认的端口为80端口,https协议的是443端口,浏览器将访问的信息按照HTTP协议封装为HTTP请求报文,作为要发送的应用层数据块。在知道了要访问的IP+80端口后浏览器(进程中的程序)将目标IP,目标端口,要发送的数据块发送到传输层,传输层为当前的浏览器进程分配绑定一个TCP端口(这个端口的作用就是标识进程,区分主机上的进程,又叫做应用程序地址),接下来就是大家熟悉的TCP三次握手,两次握手后,第三次可以添加数据块发送了,步骤是在传输层为数据块添加源端口、目的端口,此时数据块+目的/源端口叫做数据块(TCP)/消息(UDP),然后向下发送到网络层,在网络层为消息添加目的/源IP地址(此处目的IP由传输层提供,而目的IP/端口都是用户提供的),此处数据块+目的/源端口+目的/源端口的报文叫做数据包,数据包发送到数据链路层,数据链路层添加目的/源MAC地址。在网络层时源IP和目的IP会与子网掩码做与运算来确定目的IP是否和源IP在同一网段,当在同一网段时目标MAC直接添加表里IP对用的MAC,此处假设不在同一网段,目标MAC填网关MAC形成数据帧,最后通过物理层电信号将数据帧发送至网关,网关接收到数据帧后对其解析,将源地址换成路由设备的IP,源端口换成没有被占用的端口,同时在转换表中添加替换前后IP+端口的对应关系。路由设备数据帧通过目标MAC发送至主机,然后数据帧在每一层去掉用于传送的附加信息,最后HTTP请求协议/源IP/源端口发送至web应用程序,web应用程序进程接收到请求后解析HTTP请求报文,根据请求的信息寻找对应的文件,如果是PHP等文件则读取文件并调用PHP解析器解析执行,将输出结果打包成HTTP响应报文作为应用层数据,目标IP与端口(接受的源IP与端口)发送至传输层,从上至下封装后发送到路由设备,路由设备查表将目的IP/端口换成内网中的对应的IP/端口。网络层根据目内网的目的IP查表得到对应的MAC,然后发送至用户的主机,同样一层一层的去掉对应的头部,到传输层时,根据目的端口来决定要发送数据块到哪个进程。发送到浏览器窗口后浏览器解析HTTP响应报文,将.html文件解析成页面,完成了网页的访问。
同理,SSH连接,FTP,TELNET等利用应用层协议通讯的进程都是如上步骤,只是应用层对应用层协议报文的利用与响应方式不同而已。
补充:
对于端口与进程的关系,我觉得不是单纯的进程ID在通信过程周期绑定1023以上的随机端口号,我的理解是:进程是一个应用程序代码在系统分配的内存中执行的过程,具有独立的内存单元。线程是动态分享进程的内存进行一段代码的执行过程(进程和线程都有自己私有的内存)。而端口绑定的是想实现临时通信的代码块,这个代码块可以是进程,也可以是一个进程中的多个线程(网络进程),代码块绑定端口并发送消息,当主机在接收响应消息并 发送到传输层后,根据端口将响应消息发送至相应端口绑定的代码块的对应的内存中,代码块继续执行,对接受的数据Do Something!!!
注意:通信过程中,不管是客户端的TCP/UDP端口,还是各各路由器的端口,在使用/bind期间,其他应用不能占用和监听,这些过程都在系统底层被封装好的,所以是绝对安全的。
总结:
1. 网络中的通信就是不通主机的进程之间的通信。
2. TCP/UDP端口的作用就是区分主机上的进程,在进程存在并访问外网时,就会被分配端口以标记进程,四次挥手结束后端口被回收,端口叫应用程序地址,是临时资源。进程被分配端口后进程发送的数据都会通过端口,接收数据也会通过对应端口。
3. ISO中发送数据从上到下,接收数据从下到上。其实可以理解为ISO对应层之间的通讯。
4.下一篇博客讲一下代理的详细过程,和路由设备的NAT中PAT多路端口复用其实差不多。
-
http代理ip爬虫的基本原理是什么
2020-07-22 16:50:21在做爬虫的过程中,经常会遇到这样的情况,一开始爬虫正常运行,正常抓取数据,但是过了一会可能就报错,比如403Forbidden,这时候打开网页一看,可能会看到“您的IP访问频率太高”这样的提示。 出现这种现象的原因...在做爬虫的过程中,经常会遇到这样的情况,一开始爬虫正常运行,正常抓取数据,但是过了一会可能就报错,比如403Forbidden,这时候打开网页一看,可能会看到“您的IP访问频率太高”这样的提示。
出现这种现象的原因是网站采取了一些反爬虫措施。比如服务器会检测某个IP在单位时间内请求的请求次数,如果超过了这个阈值,就会直接拒绝服务,返回错误信息,这种情况可以称为封IP。
对于爬虫来说,由于爬虫爬取速度过快,爬取过程中可能遇到一个IP访问过于频繁的问题,此时网站就会让我们输入验证码登陆或直接封锁IP。
使用代理隐藏真实IP,让服务器误以为是代理服务器在请求自己,通过爬取途中不断更换代理,就不会被封锁,就可以达到我们的目的。
HTTP代理实际上指的是代理服务器,它的功能是代理网络用户去取得网络信息。这样我们可以正常访问网页,且Web服务器识别出的IP不再是我们的本机IP,成功实现了IP伪装。这就是代理的基本原理。
HTTP代理的作用有哪些呢?
【1】突破自身IP访问限制,访问一些平时不能访问的站点
【2】访问一些单位或团体的内部资源
【3】隐藏真实IP,对于爬虫来说,用代理就是为了隐藏IP防止被封。
【4】提高访问速度,通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时被保存到缓冲区,当其他用户访问相同信息时,直接从缓冲区提取信息。
-
打开浏览器,在地址栏输入URL,回车,出现网页内容。整个过程发生了什么?其中的原理是什么?...
2018-09-04 11:24:00发送与收取数据(浏览器与目的主机开始HTTP访问过程); 与目的主机断开TCP连接(四次挥手); 更多请看:https://blog.csdn.net/u012862311/article/details/78753232 转载于:... -
浏览器tab关闭事件_翻译|揭示现代浏览器原理(2):网页访问 — Chrome官方
2021-01-28 07:15:08原文:Inside look at modern web browser (part 2)网页访问过程中发生了什么这是揭秘浏览器原理系列的第二篇,在上一篇,我们讲解了浏览器如何利用不同的进程和线程去运作对应功能模块。本文会更深入地探讨不同的... -
tp5限制地址栏直接访问_翻译|揭示现代浏览器原理(2):网页访问 — Chrome官方...
2020-12-04 12:59:24原文:Inside look at modern web browser (part 2)网页访问过程中发生了什么这是揭秘浏览器原理系列的第二篇,在上一篇,我们讲解了浏览器如何利用不同的进程和线程去运作对应功能模块。本文会更深入地探讨不同的... -
HTTP代理IP爬虫的基本原理是什么?
2020-10-20 10:04:07在做爬虫的过程中,经常会遇到这样的情况,一开始爬虫正常运行,正常抓取数据,但是过了一会可能就报错,比如403Forbidden,这时候打开网页一看,可能会看到“您的IP访问频率太高”这样的提示。 出现这种现象的原因... -
【总结】访问一个网页的全过程
2017-12-08 18:03:35其中的原理是什么?以下进行整理和总结。 整个过程可以概括为几下几个部分: 域名解析成IP地址; 与目的主机进行TCP连接(三次握手);发送与收取数据(浏览器与目的主机开始HTTP访问过程); 与目的主机断开TCP... -
JSP动态网页开发原理详解
2021-01-08 07:58:03一、什么是JSP? JSP全称是Java Server ... 浏览器向服务器发请求,不管访问的是什么资源,其实都是在访问Servlet,所以当访问一个jsp页面时,其实也是在访问一个Servlet,服务器在执行jsp的时候,首先把jsp翻译成 -
【奇葩】网页直接获取访问用户的qq号是怎么实现的?
2014-09-25 11:10:51最近在网上看到很多营销程序, 都是只要用户在登陆过qq空间,qq新闻等qq网页应用后再访问你的网站, 你就能直接获取到访问者的qq号, ...是什么原理? 希望各位大神给解惑一下 最好详细一点 先谢谢了!!! -
jsonp跨域访问的原理及参数作用
2020-07-23 22:48:011、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准; 2、不过我们又发现,Web页面上调用js文件时则不受是否跨域的影响... -
csrf是什么? Django中csrf的原理?
2020-11-28 14:45:17CSRF(英语:Cross-site request forgery)是跨站请求伪造的缩写,也被称为XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法,CSRF利用的是网站对用户网页浏览器的信任,。 举个栗子 ... -
网页短链接实现原理探究
2018-10-03 13:56:19事情是这样的,今天一人问我一个问题,但是我懒得在说,就在网上找了一篇博客通过QQ发送给他,但是在发送链接时我发现之前很长的链接变成了短链接,且这个短链接能够正常访问之前的长链接,好奇之下就有了这篇文章.... -
GoogleSEO工作基本原理是什么?
2020-09-15 13:36:46通过对网站内容进行一些简单的调整,在线搜索的用户将更有可能找到您的主页,这意味着您网站的访问量增加了。Backlinko的一项案例研究显示,由于SEO的努力,有机流量增长了令人难以置信的385%。 曾庆平SEO根据... -
访问一个网页过程中发生了什么
2016-03-20 15:35:16前言本文以小明在图书馆连接网线,并访问网页为例,剖析TCP/IP协议栈工作原理,让读者了解这神奇的计算机网络底层协议的作用。获取本机的IP【DHCP】当小明连上网线,通过以太网接口连上了学校的交换机,而校园网其实... -
爬取网页数据_Python:爬虫原理和网页构造
2020-12-05 04:34:48入门网络数据爬取,也就是Python爬虫现实中我们使用浏览器访问网页时,网络是怎么运转的,做了什么呢?首先,必须了解网络连接基本过程原理,然后,再进入爬虫原理了解就好理解的多了。1、网络连接原理如上图,简单... -
解析网页木马原理
2010-06-25 16:45:49首先明确,网页木马实际上是一个HTML网页,与其它网页不同的是该网页是黑客精心制作的,用户一旦访问了该网页就会中木马。为什么说是黑客精心制作的呢?因为嵌入在这个网页中的脚本恰如其分地利用了IE浏览器的漏洞,... -
访问一个网页的过程
2020-08-21 22:49:27其中的原理是什么?以下进行整理和总结。 整个过程可以概括为几下几个部分: 域名解析成IP地址; 与目的主机进行TCP连接(三次握手); 发送与收取数据(浏览器与目的主机开始HTTP访问过程); 与目的主机断开TCP... -
访问一个网页的全过程
2020-03-06 19:58:24访问一个网页的全过程 ...其中的原理是什么?以下进行整理和总结。 整个过程可以概括为几下几个部分: 域名解析成IP地址; 与目的主机进行TCP连接(三次握手); 发送与收取数据(浏览器与目的主机开始HTTP访问... -
python原理与架构_Python:爬虫原理和网页构造
2020-12-17 01:21:21入门网络数据爬取,也就是Python爬虫现实中我们使用浏览器访问网页时,网络是怎么运转的,做了什么呢?首先,必须了解网络连接基本过程原理,然后,再进入爬虫原理了解就好理解的多了。1、网络连接原理如上图,简单... -
浏览器/网页工作原理
2010-04-23 00:09:00浏览器/网页工作原理本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~1. 首先嘛,你得在浏览器里输入要网址: 2. 浏览器查找域名的IP地址导航的第一步是通过访问的域名找出其IP地址。... -
XSS原理及防范是什么,如何学习
2020-07-29 10:37:54XSS是注入攻击的一种,攻击者通过将代码注入被攻击者的网站中,用户一旦访问访问网页便会执行被注入的恶意脚本。XSS攻击主要分为反射性XSS攻击(Reflected XSS attack)和存储型XSS攻击(Stored XSS Attack)两类。 ...
-
itk区域增长分割后保存为stl文件
-
Jsplumb从入门到实战
-
即构RoomKit:低代码15分钟搭建在线课堂,极速助力教培线上化转型
-
小京东多用户商城源码
-
FTP 文件传输服务
-
MySQL你该了解的那些事【服务端篇】
-
SAP License:SAP学习笔记
-
ajax请求json数组数据 html代码中如何将数据作为参数传递
-
RAD Studio 10.4.2 KeyPatch
-
大规模分布式-分布式剪枝系统
-
moloch-2.3.0-1.x86_64.rpm
-
虚拟磁盘服务错误: 卷大小太大。
-
Mybatis xml条件查询和第一个条件为空的解决方法
-
制作OMServerweb的Dockerfile
-
2021-02-25
-
example-playwright-web-store-order-processor:使用Playwright实现的示例Web商店订单处理器-源码
-
LDPC码的去皮解码及其在二进制压缩感知中的应用
-
eWeather_HD_Pro_v8.1.0.zip
-
2021-02-25
-
mysql多主模式/异地数据中心 部署详细文档