浏览器相关
-
浏览器对同一个域名有连接数限制,大部分是 6。
-
浏览器指的是 Chrome、Firefox,而浏览器内核则是 Blink、Gecko,浏览器内核只负责渲染,GUI 及网络连接等跨平台工作则是浏览器实现的。
-
Chrome 浏览器的每个标签页都分别对应一个呈现引擎实例,每个标签页都是一个独立的进程。
-
浏览器的容错机制,例: WebKit会把处理成
。 -
呈现器坐标系是相对于根框架而建立的,使用的是上坐标和左坐标。
-
css盒模型:每一个框都有一个内容区域(例如文本、图片等),还有可选的周围补白、边框和边距区域。所有元素都有一个“display”属性,决定了它们所对应生成的框类型。
-
如果网站在HSTS列表里,浏览器会使用 HTTPS 而不是 HTTP 协议,否则,最初的请求会使用HTTP协议发送,注意,一个网站哪怕不在 HSTS 列表里,也可以要求浏览器对自己使用 HSTS 政策进行访问。
网络分层架构图
网络分层有3种方式: OSI有7层、tcp有4层、Cisco有3层。
互联网基于分层架构实现,包括应用层、传输层、网络层、链路层、物理层, 也就是TCP(传输层)/IP(网络层)分层模型。
- 应用层:
应用层是我们经常接触使用的部分,比如常用的http协议、ftp协议(文件传输协议)、snmp(网络管理协议)、telnet (远程登录协议 )、smtp(简单邮件传输协议)、dns(域名解析),这次主要是面向用户的交互的。这里的应用层集成了osi分层模型中 的应用、会话、表示层三层的功能。
- 传输层:
传输层的作用就是将应用层的数据进行传输转运。比如我们常说的tcp(可靠的传输控制协议)、udp(用户数据报协议)。传输单位为报文段。
tcp(Transmission Control Protocol): 面向连接(先要和对方确定连接、传输结束需要断开连接,类似打电话)、复杂可靠的、有很好的重传和查错机制。一般用与高速、可靠的通信服务。
udp(user datagram protocol):面向无连接(无需确认对方是否存在,类似寄包裹)、简单高效、没有重传机制。一般用于即时通讯、广播通信等
- 网络层:
网络层用来处理网络中流动的数据包,数据包为最小的传递单位,比如我们常用的ip协议、icmp协议、arp协议(通过分析ip地址得出物理mac地址)。
- 链路层:
数据链路层一般用来处理连接硬件的部分,包括控制网卡、硬件相关的设备驱动等。传输单位数据帧。
- 物理层:
物理层一般为负责数据传输的硬件,比如我们了解的双绞线电缆、无线、光纤等。比特流光电等信号发送接收数据。
TCP协议三次握手
第一次握手:客户端发送带有SYN标志的连接请求报文段,然后进入SYN_SEND状态,等待服务端的确认。
第二次握手:服务端接收到客户端的SYN报文段后,需要发送ACK信息对这个SYN报文段进行确认。同时,还要发送自己的SYN请求信息。服务端会将上述的信息放到一个报文段(SYN+ACK报文段)中,一并发送给客户端,此时服务端将会进入SYN_RECV状态。
第三次握手:客户端接收到服务端的SYN+ACK报文段后,会想服务端发送ACK确认报文段,这个报文段发送完毕后,客户端和服务端都进入ESTABLISHED状态,完成TCP三次握手。
当三次握手完成后,TCP协议会为连接双方维持连接状态。
DNS
通过DNS服务把域名解析成IP地址.
WebSpcket
WebSocket, 一种「双向通信」的协议。WS的默认端口是80和443, 协议由两部分组成:握手和数据传输。
HTTP协议状态码取值
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
常见状态代码、状态描述、说明
200 OK
//客户端请求成功
400 Bad Request
//客户端请求有语法错误,不能被服务器所理解
401 Unauthorized
//请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden
//服务器收到请求,但是拒绝提供服务
404 Not Found
//请求资源不存在,eg:输入了错误的URL
500 Internal Server Error
//服务器发生不可预期的错误
503 Server Unavailable
//服务器当前不能处理客户端的请求,一段时间后可能恢复正常
eg:HTTP/1.1 200 OK (CRLF)
URI和URL的区别
URL叫做统一资源定位符,而URI叫做统一资源标识符。
URL的范围是要大于URI的。以淘宝的例子来说,
https://www.taobao.com/
这个域名就是URL,而每个商品的地址就是一个URI。
HTTPS相比较HTTP的优缺点:
优点:
-
HTTPS采用了非对称加密的方式,用公钥去加密,用私钥去解密。常见的非对称加密算法是RSA。
-
为了保证密钥的合法性,HTTPS采用了数字证书这个概念。
-
HTTPS使用了MAC算法来保证其完整性。
缺点:
-
速度慢
-
CPU及内存等资源的消耗大
-
证书得向认证机构购买(Let’s Encrypt可免费申请证书)
HTTP使用的认证方式
BASIC认证、DIGEST认证、SSL客户端验证、基于表单验证。