http详细解析 https://www.jianshu.com/p/80e25cb1d81a
HTTP请求信息和响应信息的格式
请求
请求行
请求方法
请求路径
所用协议
请求头信息
请求体信息
CA认证以及三次握手图解
超详细http协议讲解======================================================
tcp为何要三次握手而不是两次
https://www.jianshu.com/p/4d39863e62ab
为什么客户端最后还要等待2MSL?
因为客户端发送最后一个ACK以确认断开连接时,这个ACK可能会丢失,而服务器若在一定时间内没有收到这个ACK就会再次发送FIN,而客户端就能在这个2MSL时间段内收到这个重传的报文,接着给出回应报文,并且会重启2MSL计时器。
如果已经建立了连接,但是客户端突然出现故障了怎么办?
TCP还设有一个保活计时器,显然,客户端如果出现故障,服务器不能一直等下去,白白浪费资源。服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。
我们看看GET和POST的区别
-
GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中.
-
GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.
-
GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。
-
GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.