一、http与https的对比
1、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
二、一次完整的HTTP请求所经历的7个步骤
- ?建立TCP连接
- Web浏览器向Web服务器发送请求命令?
- Web浏览器发送请求头信息?
- Web服务器应答?
- Web服务器发送应答头信息?
- Web服务器向浏览器发送数据?
- Web服务器关闭TCP连接
三、http状态码
200 | 请求成功 | 204 | 响应中没有实体内容返回 | 206 | 进行了范围请求,客户端用了Range字段,服务端返回了Content-Range字段 | 301 | 永久跳转 第一次访问跳转后,再次访问会直接访问跳转后地址 | 302 | 临时跳转 第一次访问跳转后,在次访问依旧会需要进行访问跳转的服务器 | 304 | 客户端资源使用协商缓存 | 401 | ?请求需要认证信息 | 403 | ?网站拒绝访问 | 404 | ?访问的网站信息不存在 | 500 | ?Internal Server Error 内部服务代码错误(找开发人员) | 502 | ?后端节点出现问题,无法进行访问(负载均衡服务器 --- 用户) | 503 | ?服务器忙 | 504 | ?超时访问 |
四、长连接与短连接
(一)概念
????????短连接:HTTP/1.0中默认使用。浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。
????????长连接:HTTP/1.1起默认使用。在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的 TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。
????????Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。实现长连接要客户端和服务端都支持长连接。
(二)优缺点
长连接可以省去较多的TCP建立和关闭的操作,减少浪费,节约时间。对于频繁请求资源的客户来说,较适用长连接。Client与server之间的连接如果一直不关闭的话,会存在一个问题,随着客户端连接越来越多,server早晚有扛不住的时候。
???? 短连接对于服务器来说管理较为简单,存在的连接都是有用的连接,不需要额外的控制手段。但如果客户请求频繁,将在TCP的建立和关闭操作上浪费时间和带宽。
(三)适用场景
? 长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况,。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是先连接,再操作的话那么处理速度会降低很多,所以每个操作完后都不断开,次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的连接用长连接, 如果用短连接频繁的通信会造成socket错误,而且频繁的socket 创建也是对资源的浪费。?
而像WEB网站的http服务一般都用短链接,因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。所以并发量大,但每个用户无需频繁操作情况下需用短连好。
|