.net 获取url ip(js获取浏览器ip地址)
时间:2023-10-29 13:56:54 浏览量:28
在计算机网络的应用层你了解多少,是否知道socket套接字有哪些?知道你的网站为什么访问慢吗?知道为什么fidder、Charles能抓到你的包吗?今天我们就来一一揭秘!
套接字(socket) 是网络中不同主机上的应用进程进行双向通信的端口的抽象 ,网络进程通信的一端就是一个套接字,不同主机上的进程就是通过套接字发送数据报来进行通信的,如TCP协议使用主机的IP地址 端口号来作为TCP连接的端点,这个端点就是套接字。
套接字主要有以下三种类型:
所以总的来说,只要能唯一标识资源的就是URI,在URI的基础上能给出其资源的访问方式的就是URL。
假如我们需要抓取客户端的数据包,需要监控客户端与服务器交互之间的网络节点,监控其中任意一个网络节点(网卡),获取所有经过网卡中的数据,对这些数据按照网络协议进行解析,这就是抓包的基本原理。 而中间的网络节点不受我们控制,是基本无法实现抓包的,因此只能在客户端与服务器之间进行抓包。
① 当采用抓包工具抓取 HTTP 数据包时,过程如下:
这里抓包工具相当于透明人,数据经过的时候它一只手接到数据,然后另一只手把数据传出去。
② 当抓取 HTTPS 数据包时:
这个时候抓包工具对客户端来说相当于服务器,对服务器来说相当于客户端。 在这个传输过程中,客户端会以为它就是目标服务器,服务器也会以为它就是请求发起的客户端。
网站打开慢的原因有很多,总结一下最常见的几个。
1、网站程序设计: 当访问网页中有拖慢网站打开速度的代码,会直接影响网站的打开速度, 如网页中使用的统计代码,一般是要放置在网站末尾的,防止其在加载过程中出现延迟。
2、网页结构设计: 查看网页布局的代码,如果网页使用的table布局的网页,查看是否被嵌套次数过多,或者是使用一个大表格分成多个小表格的布局,这个时候可以使用div配合css来改进。
3、网页内容: 查看网页中是否有许多大尺寸的图片和大尺寸的flash存在,我们可以通过降低图片质量,减少图片尺寸,少用过多的flash来解决。或者可能是有的网站引用了其他网站的内容, 若某些被引用的网站访问速度慢或者不存在,该网站的打开速度自然会变慢,所以可以直接减少不必要的加载项。
在用户输入URL之后,浏览器首先会进行DNS解析,将用户输入的域名解析成web服务器的IP地址,之后会通过该IP地址与服务器进行三次握手建立TCP连接,连接完成之后通过HTTP协议发送客户端的请求,在服务器接收到该请求之后,会根据该请求体中的内容决定如何获取目标文件,并且将目标文件返回给客户端;浏览器在收到文件之后,首先会通过解析HTML文件为DOM树,再解析CSS文件为渲染树,在CSS文件解析完成之后将根据渲染树的布局在页面上显示网页;最后客户端和服务器通过四次挥手断开连接。
过程如下图这样:
其中的名词解析:
在这一过程中,会涉及到负载均衡等操作。
拓展:什么是负载均衡?
负载均衡 , 英文名为 Load Balance,其含义是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行, 例如 FTP 服务器、Web 服务器、企业核心服务器和其他主要任务服务器等,从而协同完成工作任务。
负载均衡建立在现有的网络之上, 它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、增加吞吐量、加强网络处理能力并提高网络的灵活性和可用性。
负载均衡是分布式系统架构设计中必须考虑的因素之一 , 例如天猫、京东等大型用户网站中为了处理海量用户发起的请求,其往往采用分布式服务器,并通过引入反向代理等方式将用户请求均匀分发到每个服务器上,而这一过程所实现的就是负载均衡。
今天的内容主要就是学习了网站的请求和显示过程,了解其中通信的原理,URL和URI的区别、如何解决网站访问慢等问题。
如果小伙伴们有遇到其他相关的面试题,欢迎在评论区留言提出,我会把大家提出的总结到文章内, 欢迎小伙伴们一起评论区打卡学习!