1.HTTP协议
HTTP:超文本传输协议,基于TCP/IP
主要特点:
(1)简单快速:客户向服务器请求服务时,只需要传递请求方法和路径
(2)灵活:允许传输任意类型的数据对象
(3)无连接:每次连接只处理一个请求,服务器处理完客户端请求并收到客户端应答后立即断开
(4)无状态协议:协议对事物处理没有记忆能力
(5)支持B/S和C/S模式
HTTP1.0的请求方法:GET POST HEAD
HTTP1.1的请求方法:OPTIONS PUT DELETE TRACE CONNECT
2.在浏览器地址栏输入URL,按下回车后的过程:
(1)浏览器向DNS服务器请求解析该URL对应的IP地址
(2)根据该IP地址和端口号,和服务器建立TCP协议
(3)浏览器发出读取文件的http请求,该请求报文作为TCP三次握手的第三个报文数据发送给服务器
(1) 服务器做出相应,并将对应的HTML文本发送给浏览器
(2) 释放TCP连接
(3) 浏览器显示该内容
3.http和https的区别
HTTPS:是以安全为目标的HTTP通道,即HTTP下加入SSL层,HTTPS的安全基础是SSL。
HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
SSL原理:http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html
SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。
HTTPS和HTTP的区别主要如下:
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
4. TCP长连接的保持消耗流量不,有什么优劣势
(1)长/短连接操作过程
短连接的操作步骤是:
建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接
长连接的操作步骤是:
建立连接——数据传输...(保持连接)...数据传输——关闭连接
(2)TCP保活功能
保活功能主要为服务器应用提供,服务器应用希望知道客户主机是否崩溃,从而可以代表客户使用资源。如果客户已经消失,使得服务器上保留一个半开放的连接,而服务器又在等待来自客户端的数据,则服务器将应远等待客户端的数据,保活功能就是试图在服务器端检测到这种半开放的连接。
如果一个给定的连接在2小时内没有任何的动作,则服务器就向客户发一个探测报文段,客户主机必须处于以下4个状态之一:
客户主机依然正常运行,并从服务器可达。客户的TCP响应正常,而服务器也知道对方是正常的,服务器在两小时后将保活定时器复位。
客户主机已经崩溃,并且关闭或者正在重新启动。在任何一种情况下,客户的TCP都没有响应。服务端将不能收到对探测的响应,并在75秒后超时。服务器总共发送10个这样的探测 ,每个间隔75秒。如果服务器没有收到一个响应,它就认为客户主机已经关闭并终止连接。