1.HTTP状态码
HTTP状态码的核心作用是服务器告诉客户端当前服务器的响应状态。
1XX属于信息性状态码;2XX属于成功状态码;3XX属于重定向状态码;4XX属于客户端错误状态码;5XX属于服务端错误状态码。
101表示切换请求协议;200表示请求成功;301表示永久性重定向,会缓存;302表示临时重定向,不会缓存;400表示客户端请求的语法错误;403表示服务器禁止访问,与权限有关。404表示服务器无法根据客户端的请求找到资源;500表示服务器错误。
2.计算机网络体系结构
包括ISO七层模型、TCP/IP四层模型、五层体系结构。
ISO七层模型是国际标准化组织制定的一个用于计算机或通信系统间互联的标准体系。
应用层:网络服务与最终用户的一个接口,常见的协议有HTTP FTP SMTP SNMP DNS。
表示层:数据的表示、安全、压缩,确保一个系统的应用层所发送的信息可以被另一个系统的应用读取。
会话层:建立、管理、终止会话,对应主机进程,指本地主机与远程主机正在进行的会话。
传输层:定义传输数据的协议端口号,常见的协议有TCP UDP。
网络层:进行逻辑地址寻址,实现不同网络之间的路径选择,常见的协议有ICMP IGMP IP等。
数据链路层:在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路。
物理层:建立、维护、断开物理链接。
TCP/IP四层模型
应用层:对应于ISO参考模型的(应用层、表示层、会话层)
传输层:对应ISO的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。
网际层:对应于ISO参考模型的网络层,主要解决主机到主机的通信问题。
网络接口层:与ISO参考模型的数据链路层、物理层对应。
五层体系结构
应用层:对应于ISO参考模型的应用层、表示层、会话层。
对应常用的协议有:
HTTP: 超文本传输协议; FTP: 文本传输协议; SMTP: 简单邮件传输协议; DNS: 域名系统
传输层:对应于ISO参考模型的传输层。
对应的协议有:
TCP: 传输控制协议; UDP: 用户数据报文协议。
网络层:对应于ISO参考模型的网络层。
对应常用的协议有:
IP:网际协议; ARP: 地址转换协议; RARP:反向地址转换协议; RIP: 路由信息协议。
数据链路层:对应于ISO参考模型的数据链路层。
物理层:对应于ISO参考模型的物理层。
补充:基于TCP的应用层协议有HTTP、FTP、SMTP、SSH.
基于UDP的应用层协议有DNS、TFTP、SNMP.
3.TCP四次挥手过程
(1)第一次挥手(FIN=1,seq=u),发送完毕后,客户端进入FIN_WAIT_1状态。
(2)第二次挥手(ACK=1,ack=u+1,seq=v),发送完毕之后,服务器端进入CLOSE_WAIT状态,客户端链接收到这个确认包之后,进入FIN_WAIT_2状态。
(3)第三次挥手(FIN=1,ACK=1,seq=w,ack=u+1),发送完毕之后,服务器端进入LAST_ACK状态,等待来自客户端最后一个ACK。
(4)第四次挥手(ACK=1,seq=u+1,ack=w+1),客户端接收到来自服务端关闭请求,发送一个确认包,并进入TIME_WAIT状态,等待了某个时间段之后,没有收到服务器端的ACK,认为服务器端已经正常关闭连接,于是自己关闭连接,进入CLOSED状态。服务器端收到这个确认包之后,关闭连接,进入CLOSED状态。
4.TCP的三次握手机制
TCP提供可靠的连接服务。三次握手的目的是同步连接双方的序列号和确认号并交换TCP窗口大小信息。
(1)第一次握手,发送完毕后,客户端进入SYN_SEND状态。
(2)第二次握手,发送完毕后,服务器就进入SYN_RCV状态。
(3)第三次握手,发送完毕后,客户端进入ESTABLISHED状态,当服务器端接收到这个包时,也进入ESTABLISHED状态。