1 我们所说的同源策略指的是什么?
所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个 ip 地址,也非同源。同源策略/SOP(Same origin policy)是一种约定,由 Netscape 公司 1995 年引入浏览器,它是浏览器最核心也最基本的安全功能,现在所有支持 JavaScript 的浏览器都会使用这个策略。如果缺少了同源策略,浏览器很容易受到 XSS、 CSFR 等攻击。
2 什么是域名发散与域名收敛?
1、域名发散
为了突破浏览器对于同一域名并发请求数的限制,http 静态资源采用多个子域名,通常为2~4个。
目的是充分利用现代浏览器的多线程并发下载能力。
2、域名收敛
域名收敛和域名发散正好相反:就是将静态资源只放在一个域名下面,而非发散情况下的多个域名下。
主要是为了适应移动端的发展需求。
3浏览器为什么要做并发限制?
1.客服端首先发送一个连接试探。
2.服务器监听到连接请求报文后,如果同意建立连接,则向Client发送确认。
3.Client收到确认后还需要再次发送确认,同时携带要发送给Server的数据。
5 为什么要进行三次握手呢?
1.验证服务端和客户端是否遵循TCP/IP协议
2.为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。
TCP是一个端到端的可靠的面相连接的协议,HTTP基于传输层TCP协议不用担心数据传输的各种问题 (当发生错误时,会重传)
1. 面相连接协议定义
通信双方在通信时,要事先建立好一条通信线路(虚拟的)。
其过程有建立连接、维护连接、释放(断开)连接三个过程。
TCP是面向连接的
2. 面向无链接协议定义
与面向连接相对,面向无连接是指通信双方不需要事先建立通信线路,而是把每个带有目的地址的报文分组送到线路上,由系统自主选定线路进行传输。
面向无连接只有“传送数据”的过程。
UDP是面向无连接的
8 说到三次握手,那在说下四次挥手吧?
1.客户端进程发出连接释放报文,并且停止发送数据。
2.服务器收到连接释放报文,发出确认报文,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。(客户端向服务器方向释放了,但是服务器发送数据,客户端依然要接受)
3.客户端收到服务器的确认请求后,客户端就进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据)。
4.服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。
5.客户端收到服务器的连接释放报文后,必须发出确认,客户端就进入了TIME-WAIT(时间等待)状态。
6.服务器只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。(服务器结束TCP连接的时间要比客户端早一些。)
9 为什么要四次挥手?
TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。TCP是全双工模式,这就意味着,当主机1发出FIN报文段时,只是表示主机1已经没有数据要发送了,主机1告诉主机2,它的数据已经全部发送完毕了;但是,这个时候主机1还是可以接受来自主机2的数据;当主机2返回ACK报文段时,表示它已经知道主机1没有数据发送了,但是主机2还是可以发送数据到主机1的;当主机2也发送了FIN报文段时,这个时候就表示主机2也没有数据要发送了,就会告诉主机1,我也没有数据要发送了,之后彼此
就会愉快的中断这次TCP连接。
10 为什么建立连接是三次握手,关闭连接确是四次挥手呢?
建立连接的时候, 服务器在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报 文里发送给客户端。而关闭连接时,服务器收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,而自己也未必全部数据都发送给对方了,所以己方可以立即关闭,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送,从而导致多了一次。
11 如果已经建立了连接,但是客户端突然出现故障了怎么办?
TCP还设有一个保活计时器。但是客户端如果出现故障,服务器不能一直等下去,白白浪费资源。服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。
11 你了解的http请求有哪些?
1.GET:请求一个指定资源的表示形式. 使用GET的请求应该只被用于获取数据。
2.HEAD:请求一个与GET请求的响应相同的响应,但没有响应体。
3.POST:将实体提交到指定的资源。
4.PUT:请求有效载荷替换目标资源的所有当前表示。
5.DELETE:删除指定的资源。
6.OPTIONS:用于描述目标资源的通信选项。
7.PATCH:对资源应用部分修改。
8.CONNECT:建立一个到由目标资源标识的服务器的隧道。
9.TRACE:沿着到目标资源的路径执行一个消息环回测试。
12 GET和POST的区别?
这个问题。我相信只要你说你做过接口测试,基本上都被问到过。
简单来说:GET产生一个TCP数据包,POST产生两个TCP数据包
严格的说:对于GET方式的请求,游览器会把http header和data一并发送出去,服务器响应200
(返回数据);
而对于POST请求。游览器先发送header,服务器响应100 continue,游览器再发送data,服务器
响应200 ok(返回数据)
13 Internet采用哪种网络协议?该协议的主要层次结构?
TCP/IP协议(Transmission Control Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。
TCP/IP是用于计算机通信的一组协议,我们通常称它为TCP/IP协议族。
TCP/IP是网络中使用的基本的通信协议。虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP、TFTP等许多协议,这些协议一起称为TCP/IP协议。
TCP/IP由四个层次组成:数据链路层、网络层、传输层、应用层。
数据链路层
这是TCP/IP软件的最低层,负责接收IP数据报并通过网络发送,或者从网络上接收物理帧,抽出IP数据报,交给IP层。
网络层
负责相邻计算机之间的通信。其功能包括三方面:
a、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
b、处理输入数据报:首先检查其合法性,然后进行寻径–假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
c、处理路径、流控、拥塞等问题。
传输层
提供应用程序间的通信。其功能包括:
a、格式化信息流;
b、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。
应用层
向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用
TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。
OSI七层模型与TCP/IP协议的对应关系。
OSI中的层 功能 TCP/IP协议族
应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
表示层 数据格式化,代码转换,数据加密 没有协议
会话层 解除或建立与别的接点的联系 没有协议
传输层 提供端对端的接口 TCP,UDP
网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP
数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU
物理层 以二进制数据形式在物理媒体上传输数据
TCP/IP协议中一些常用协议英文名:
TCP(Transmission Control Protocol)传输控制协议
IP(Internet Protocol)网际协议
UDP(User Datagram Protocol)用户数据报协议
ICMP(Internet Control Message Protocol)互联网控制信息协议
SMTP(Simple Mail Transfer Protocol)简单邮件传输协议
SNMP(Simple Network manage Protocol)简单网络管理协议
FTP(File Transfer Protocol)文件传输协议
ARP(Address Resolation Protocol)地址解析协议
Internet物理地址和IP地址转换采用什么协议?
ARP (Address Resolution Protocol)(地址解析协议)。
本文探讨了前端面试中常见的HTTP知识点,包括同源策略的定义及其安全作用,浏览器并发限制的原因,TCP的三次握手与四次挥手过程,以及HTTP请求类型如GET和POST的区别。此外,还介绍了TCP/IP协议的基础知识,如网络层次结构和常用协议。
901

被折叠的 条评论
为什么被折叠?



