HTTP状态码301和302的区别

301,302 都是HTTP的状态码,都代表着某个URL发生了转移,不同之处在于:
301 redirect: 301 代表永久性转移(Permanently Moved),浏览器中的url会变成新的url
302 redirect: 302 代表暂时性转移(Temporarily Moved),浏览器中的url不变

HTTP协议状态码

HTTP协议状态码,是指在HTTP协议运行中由客户端发出请求连接,服务端建立连接;客户端发出HTTP请求(Request),服务端返回响应信息(Respond),而在这个过程中由于客户端或服务端的问题会返回相应的错误代码并显示给用户,对应的错误代码表示不同的错误信息,根据这个信息用户可以调整相应的操作来修改出现的错误,最终避免错误的再现。

http

http协议状态码一共有五种类别,分别是1XX,2XX,3XX,4XX,5XX。用三位数字来表示不同的错误。
1XX类状态码信息表示:临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。
2xx类状态码信息表示:服务器成功地接受了客户端请求。
3xx类状态码信息表示:客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。
4xx类状态码信息表示:发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。
5xx类状态码信息表示:服务器由于遇到错误而不能完成该请求。

HTTP协议状态码的含义 阅读详细 »

HTTP协议Keep-Alive模式详解

1、什么是Keep-Alive模式

我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服 务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。

http_keey-alive
http 1.0中默认是关闭的,需要在http头加入”Connection: Keep-Alive”,才能启用Keep-Alive;http 1.1中默认启用Keep-Alive,如果加入”Connection: close “,才关闭。目前大部分浏览器都是用http1.1协议,也就是说默认都会发起Keep-Alive的连接请求了,所以是否能完成一个完整的Keep- Alive连接就看服务器设置情况。

2、启用Keep-Alive的优点 阅读详细 »

TCP协议三次握手过程

 

TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:
 
位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)
 
Sequence number(顺序号码) Acknowledge number(确认号码)
 
第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;
 
第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包
 
第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。
 
完成三次握手,主机A与主机B开始传送数据。

IP网段表示法与子网掩码的计算

 

现在的IPv4暂时由四段数字组成,通常分为三类IP:

     A类:0.0.0.0到127.255.255.255

     B类:128.0.0.0到191.255.255.255

     C类:192.0.0.0到223.255.255.255

 

子网掩码:

     A类:255.0.0.0                一个子网最多可容纳1677万台电脑

     B类:255.255.0.0            一个子网最多可容纳6万台电脑

     C类:255.255.255.0        一个子网最多可容纳253台电脑

 

在同一网段,要求网络标识相同,网络标识就是用IP的二进制与子网掩码的二进制数据作'与'运算(可用WINDOWS计算器算二进制),所以结果相同,表示在同一网段,而不是IP地址前几段相同就表示在同一网段。算网络标识的时候,A类IP只算第一段,B类只算第一,二段,C类IP算第一,二,三段。

     例:192.168.0.1 255.255.255.0的网络标识为:192.168.0.0

            192.168.0.1:    11000000.10101000.00000000.00000001

            255.255.255.0:11111111.11111111.11111111.0000000

            作与运算:        11000000.10101000.00000000.00000000

     结果:192.168.0.0

子网掩码决定了一个子网的计算机数目,简单的算法就是2的M次方。M表示二进制的子网掩码后面0的数目。

     例:255.255.255.0

     二进制:11111111.11111111.11111111.00000000

后面有8个0,那M就是8,这个子网掩码可以容纳2的8次方(台)电脑,也就是256台,去掉0和255就是254台电脑。

实例:一个公司有530台电脑,组成一个对等网,子网掩码如何设?IP如何设?

     子网掩码:         

          2的M次方=530,求的M=10

          那么子网掩码最后为10个0,如此便是:11111111.11111111.11111100.00000000

          换成十进制便是:255.255.252.0

再看IP,我们选一个B类IP,例如:188.188.×.×

     前两段按B类要随便设就可以,关键是第三段,只要网络标识相同就可以在同一网段就可以,我们先看网络标识:

          255.255.252.0:11111111.11111111.11111100.00000000

          188.188.×.×:   10111100.10111100.??????××.××××××××

          网络标识:        10111100.10111100.??????00.00000000

     上边×号无论填0和1结果都是0

     ?处填0和1都一样,我们就全填0,结果便是IP便是:

     10111100.10111100.000000××.××××××××,这个IP共有530台电脑,IP最后一段分给254台,一共要分530/254=2.086段,四舍五入要分成3段,所以IP地址000000××处分成三个不同的数据即可,例:00000001,00000010,00000011,分别是1,2,3,

这样IP地址就确定了188.188.1.×,188.188.2.×,188.188.3.×。