dns协议

DNS Prefetching的两三事

筅森魡賤 提交于 2020-04-06 23:14:08
原文还是在简书编写的: DNS Prefetching的两三事 年前年后有点忙,又是追加功能,修改富文本编辑器,又是切我们的整体架构,好久没有更新了,最近同事发现了个有意思的文章,如下,是讲 DNS Prsfetching的。 预加载-有赞-DNS 看完之后,觉得原文,有些地方还没有提及到,所以有必要写一篇文章来记录下自己的心得体会,所有原始内容来源于 Google 和 火狐 官方文档, 正文如下: 什么是DNS Prefetching 如果你在网上搜 DNS Prefetching的相关资料,要不就是到上面的官方文档,要不就是基本上一致的中国版本copy & paste,如下图所示: 那么DNS Prefetching 是什么 : DNS 是什么-- Domain Name System,域名系统,作为域名和IP地址相互映射的一个分布式数据库。 DNS大家都懂,那么浏览器访问域名的时候,是需要去解析一次DNS,也就是把域名 google.com解析到对应的ip地址上,相信有些人也通过修改本机hosts来翻墙访问Google吧,这个就是主动的影响DNS解析。到这里大家就比较清楚,既然要解析就会损耗时间,对于前端特别是移动端而言,分秒必争,这个时间大家也想省去,所以浏览器厂商-Chrome最想搞了这个新功能。 定义--浏览器根据自定义的规则,提前去解析后面可能用到的域名

深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1

 ̄綄美尐妖づ 提交于 2020-04-04 08:32:32
备注 : 因为文章太长,所以将它分为三部分,本文是第二部分。 第一部分 : 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1 第二部分 : 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 2 第三部分 : 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 3 背景 “从浏览器中输入URL到页面加载的发生了什么“,这是一道经典的面试题,涉及到的知识面非常多,但作为一个自认为对网络知识掌握的比较好的老码农来说,回答这个问题自然不在话下。如果这道题目如果在面试出现,对我来说就是送分题啊。尽管如此,我还是愿意花一些时间根据我自己的理解回答一下这个题目,看我自己到底掌握的有多深,同时也把自己的知识梳理一下。 这让我想起另外一件往事,这道题有点类似于“在手机上浏览器上输入一个URL,手机做了一些什么”,我当时学习通信里的核心网时就给自己提出过这个问题。 我非常愿意将这个面试题的答案共享出来,一是希望得到大家的意见,二是也希望对那些不是特别熟的人起到一些帮助。 因为文章较长,我将它们分为三大部份,后面会提供该文章的完整PDF版本,供大家下载。 从本文里学到什么? 正如前面所说,这篇文章涉及到的知识面非常丰富,我相信您绝对可以从本文里学到很多基础知识,还有一些高级话题。 DNS的解析原理,常用命令,端口等 TCP

在浏览器输入URL回车之后发生了什么(转载)

眉间皱痕 提交于 2020-04-02 19:24:44
转自:https://www.cnblogs.com/abdm-989/p/11979689.html#_label0 打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?先给大家来张总体流程图,具体步骤请看下文分解! 从URL输入到页面展现   总体来说分为以下几个过程:   (1)URL 解析   (2)DNS 解析:将域名解析成 IP 地址   (3)TCP 连接:TCP 三次握手   (4)发送 HTTP 请求   (5)服务器处理请求并响应 HTTP 报文   (6)浏览器解析渲染页面   (7)断开连接:TCP 四次挥手 一 URL解析 URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上资源,俗称网址。比如 http://www.w3school.com.cn/html/index.asp ,遵守以下的语法规则:   scheme://host.domain:port/path/filename    各部分解释如下:     scheme - 定义因特网服务的类型。常见的协议有 http、https、ftp、file,其中最常见的类型是 http,而 https 则是进行加密的网络传输。     host - 定义域主机(http 的默认主机是 www)     domain - 定义因特网

【Peer-to-Peer Sockets 工程入门】

大兔子大兔子 提交于 2020-04-01 14:07:50
Peer-to-Peer (P2P)Sockets工程在JXTA peer-to-peer虚拟网络重新实现了对应于标准TCP/IP网络中的Java标准的Socket,ServerSocket,和InetAddress等类。该工程同时还引入了一些注入Jetty web server,Apache XML-RPC客户端和服务器库,Apache Jasper JSP引擎之类的流行web package。使这些服务可以运行在Peer-to-Peer Sockets 的框架下。      在这片文章结束的时候,你会理解对P2P Sockets packages的需求和以及开发它的动机,学会怎么配置P2P Socket 库使之在你的系统上能够运行,学会怎么样建立P2P的服务器和客户端Socket,怎么使用P2P的InetAddress 类,还包括框架下的安全问题以及它的局限性。       动机      P2P Socket工程的设计的使用对象是对以下几个领域有兴趣的开发者:      ●将Internet回归到end-to-end的原则当中      ●一种绕过ICANN和Verisign的替代peer-to-peer域名系统,这个系统是完全分布式的,对更新拥有比标准DNS快的多的响应速度。      ●一种任何人都可以建立活着使用网络服务的Internet

计算机网络面试题(三)

假如想象 提交于 2020-03-30 13:42:41
计算机网络之传输层 ● 请你说明一下,TCP协议的4次握手。 考察点:TCP协议 参考回答: 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。 TCP的连接的拆除需要发送四个包,因此称为四次挥手(four-way handshake)。客户端或服务器均可主动发起挥手动作,在socket编程中,任何一方执行close()操作即可产生挥手操作。 (1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。 (2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。 (3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A。 (4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1。 ● 谈一下,为什么tcp为什么要建立连接? 考察点:TCP 参考回答: 保证可靠传输。 ● 请你解释一下TCP为什么可靠一些 考察点:TCP 参考回答: 三次握手,超时重传,滑动窗口,拥塞控制。 ● 请说明一下哪种应用场景会使用TCP协议,使用它的意义 考察点:TCP协议 参考回答:

一次 Web 请求到底发生了什么

蓝咒 提交于 2020-03-30 13:42:09
一次 Web 请求到底发生了什么 一、从输入一个网址开始 当我们在浏览器输入一个网址,然后按下回车,接下来浏览器显示了页面。网速好的话这之间可能就一秒,但在这一秒内到底发生了什么? 本文主要内容是试图记录一个完整 Web 请求的详细过程,从用户在浏览器中输入 URL 地址说起,然后浏览器如何找到服务器地址的过程,并发起请求;分析请求在达反向代理服务器内部处理过程;最后到请求在服务器端处理完成后,浏览器渲染响应页面过程。 大致过程如下: Web请求的工作原理可以简单地归纳为: 浏览器通过 DNS 把域名解析成对应的IP地址; 根据这个 IP 地址在互联网上找到对应的服务器,建立 Socket 连接; 客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档; 在服务器端,实际上还有复杂的业务逻辑:服务器可能有多台,到底指定哪台服务器处理请求,这需要一个负载均衡设备来平均分配所有用户的请求; 还有请求的数据是存储在分布式缓存里还是一个静态文件中,或是在数据库里; 当数据返回浏览器时,浏览器解析数据发现还有一些静态资源(如:css,js或者图片)时又会发起另外的请求,而这些请求可能会在CDN上,那么CDN服务器又会处理这个用户的请求。 客户端与服务器断开。由客户端解释HTML文档,在客户端屏幕上渲染图形结果。 一个 HTTP 事务就是这样实现的,看起来很简单,原理其实是挺负责的

深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1

*爱你&永不变心* 提交于 2020-03-29 17:29:19
【ASP.NET Core】EF Core - “影子属性” 有朋友说老周近来博客更新较慢,确实有些慢,因为有些 bug 要研究,另外就是老周把部分内容转到直播上面,所以写博客的内容减少了一点。 老周觉得,视频直播可能会好一些,虽然我的水平一般,不过直播时,老周可以现场演示,可能会比看博客效果要好(因为现场演示,有时候会有失误,没办法,水平有限)。还有一个,就是.NET 的资料其实很多,毕竟也发展了十几年了,有些东西如果别人都写过了,那我也不好意思重复了。.NET Core 尽管是跨平台版本,但核心依然是.net 基础,我们不需要全新去学习,只要掌握一些新的变化就可以了。目前比较期待 .NET Core 3 的正式发布,等正式上线了,老周再挑一些有意义的内容写一下。 此外,老周也可能会写一写其他方面的博客,比如 Python、GO、Ruby、Typescript 等。老周并不是只会玩.NET ,只不过老周是主攻 .NET,在接触 .NET 之前,老周就学过很多东西,比如古老的 QBasic、Pascal ,老周在上初中时就学过。后来向 VB、C、C++ 进攻,顺便把 Ruby、Python、PB 也调戏一下,后来有一段时间,Delphi 和 E 语言也挺流行的,所以顺便也玩了两把。 再后来,学过 Java 和 PHP,抛 Java 而投 .NET 是因为 Java 太复杂,效率不高

Centos7配置IP地址和DNS

半城伤御伤魂 提交于 2020-03-27 09:36:38
目录 一、查看IP地址 1、ifconfig命令 2、ip addr命令 二、配置网卡 1、动态IP地址 2、静态IP地址 3、重启网卡 三、注意事项 四、本地虚拟机设置静态IP后不能上网的解决方法 1、以系统管理员打开VMWare 2、选择虚拟网络编辑器菜单 3、选择VMnet8这一行 4、还原VMnet8的默认设置 5、修改VMnet8的参数 6、NAT设置 7、保存设置 8、确认虚拟机为NAT模式 9、启动虚拟机CentOS7 10、设置CentOS7的不静态IP地址 11、重启CentOS7的网络服务 12、测试效果 13、注意事项 五、版权声明 一、查看IP地址 1、ifconfig命令 ifconfig是Linux查看和配置网卡的命令, 上图中,我们重点关注五方面信息: 1)网卡名:即网卡设备名,lo是本机(全称loopback,是回环地址,经常被分配到127.0.0.1地址上,用于本机通信,经过内核处理后直接返回,不会在任何网络中出现);eth0是真实的网卡,如果服务器有多个网卡,网卡命名将是eth0、eth1、eth2、……。注意:真实网卡的名称不一定是eth打头,还可以是no(由主板bios内置的网卡)、ens(代表有主板bios内置的PCI-E网卡)、enp2s(PCI-E独立网卡)等,后面的编号也不一定从0开始。 2)IP地址:inet后的内容是IP地址

一网打尽!每个程序猿都该了解的黑客技术大汇总

混江龙づ霸主 提交于 2020-03-23 10:28:22
目录 [一网打尽!每个程序猿都该了解的黑客技术大汇总](https://www.cnblogs.com/xuanyuan/p/12529598.html) 网络安全 SQL注入 XSS攻击 反射型 存储型 CSRF攻击 DDoS攻击 DNS劫持 TCP劫持 端口扫描技术 系统安全 栈溢出攻击 整数溢出攻击 空指针攻击 释放后使用攻击 HOOK 权限提升 可信计算 密码学 对称加密 & 非对称加密 秘钥交换技术 信息摘要算法 数据编码技术 多因子认证技术 总结 一网打尽!每个程序猿都该了解的黑客技术大汇总 上面这个段子估计很多朋友都看过,程序员被黑过无数次,在其他人眼中,仿佛我们需要写得了木马,翻得了围墙,修得了电脑,找得到资源,但凡是跟计算机沾点边的,咱都得会才行。 段子归段子,言归正传,对于咱们程序员来说,多多少少了解一些信息安全的技术知识还是大有裨益的,不仅能了解一些计算机和网络的底层原理,也能反哺我们的开发工作,带着安全思维编程,减少漏洞的产生。 本文内容: - 网络安全 - SQL注入 - XSS攻击 - CSRF攻击 - DDoS攻击 - DNS劫持 - TCP劫持 - 端口扫描技术 - 系统安全 - 栈溢出攻击 - 整数溢出攻击 - 空指针攻击 - 释放后使用攻击 - HOOK - 权限提升 - 可信计算 - 密码学 - 对称加密 & 非对称加密 - 秘钥交换技术 -

我的linux学习之路(第十六节)

守給你的承諾、 提交于 2020-03-20 23:35:24
3 月,跳不动了?>>> 第16课:上接第15课 6) 部署从服务器 在DNS域名解析服务中,从服务器可以从主服务器上获取指定的区域数据文件,从而起到备份解析记录与负载均衡的作用,通过部署从服务器可以减轻主服务器的负载压力,还可以提升用户的查询效率。 6.1) 在主服务器192.168.10.10的区域配置文件/etc/named.rfc1912.zones中配置允许从服务器192.168.10.20地址的更新请求,即修改allow-update {允许更新区域信息的主机地址;};参数,然后重启主服务器的DNS服务程序。 [root @linuxprobe ~]# vim /etc/named.rfc1912.zones zone "linuxprobe.com" IN { type master; file "linuxprobe.com.zone"; allow-update { 192.168.10.20; }; }; zone "10.168.192.in-addr.arpa" IN { type master; file "192.168.10.arpa"; allow-update { 192.168.10.20; }; }; [root @linuxprobe ~]# systemctl restart named 6.2) 在从服务器192.168.10