1支持客户端/服务器模型。
2是简单快速:服务器当客户端请求服务时,只需传送请求方法和路径。请求方法常用的GET,HEAD,POST。每种方法规定了客户端与服务器联系的是不同的类型。
因为简单的HTTP协议,使程序的小HTTP服务器,因而通信速度很快。
3灵活。 HTTP允许任何类型的数据对象的传输。输入被传输的内容类型进行标记。
4无连接:无连接是限制每个连接只有一个请求的意思。在服务器处理完客户的请求,并收到客户的反应,即断开。通过这种方式可以节省传输时间。
5无状态:。 HTTP协议是无状态的协议。没有一个国家是没有协议的事务处理和存储能力。如果该状态是指由于缺乏必要前述信息的后续处理中,它必须被重传,这可能导致在数据传输增加了每个连接。另一方面,当不需要在服务器上的快速响应的先验信息。虽然上面进行复制,但不可否认的是,这是最合适的答案,虽然用户自己写互惠互利的主张,但内容丰富太弱。如果我没有满意的答案楼主,可以百度,很多。例如,如果一个更精确的答案,请问楼主采纳。
HTTP协议主要特点包括如下:
HTTP怎么保持持久连接?
Keep-Alive实现:
通过请求的头部字段:Connection,time,max来实现持久连接。
如:Connection:Keep-Alive,time :20,max:10
time:表示第一次http请求发起之后20秒内不断开,并且之后相同host的请求都用同一个http连接通道进行通信;
max:表示最大可以连接的请求数量。
怎么判断HTTP持久连接断开?
HTTP持久连接断开时服务端会通过响应报文的请求头字段的Connect-Length 、chunked来告诉客户端持久连接已经断开了。
Cookie/Session
由于HTTP的无状态特点,缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
为了解决这种重复上传的问题,于是有了Cookie/Session的技术解决方案:
Cookie用于客户端,可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除Cookie)。而还有一些Cookie在用户退出会话的时候就被删除了,这样可以有效保护个人隐私。
与 Cookie 相对的一个解决方案是 Session,它是通过服务器来保持状态的。
HTTP协议特点参考资料: 深入理解http协议的特点
HTTP是不安全的,因为服务端未检查客户端的有效性,这样很可能被中间人拦截伪装客户端向服务端发送请求。
HTTPS在HTTP传输层之上加了一个安全层(SSL或TLS协议实现),可以做到以下3点:
1. 数据的保密性
2. 校验双方身份的真实性
3. 数据的完整性
HTTPS连接建立流程:
通过上面HTTPS连接建立流程分析,大致可以分为下面5个步骤:
上面说了加密,保证了数据不能被他人读取,但通信的双方怎样校验对方的身份呢?HTTPS使用了数字证书,数字证书就是身份认证机构(Certificate Authority)盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名),这一行为表示身份认证机构已认定这个人。证书的合法性可以向CA验证。
客户端收到服务器的响应后,先向CA验证证书的合法性(根据证书的签名、绑定的域名等信息),如果校验不通过,浏览器会中止连接,向用户提示证书不安全。
HTTPS了两种加密方式: 对称加密和非对称加密 。
以下是非对称加密的过程:
发送方通过公钥对数据进行加密,将加密数据传给接收方,接收方通过私钥进行解密得到相应的数据;这种加密和解密用的钥匙不一样的方式叫做非对称加密。
非加密方式是安全的,因为私钥在服务端本地的,并没有在网络上传输,即使客户端的公钥被篡改了,通过私钥也解析不出来,但是这种方式的缺点是耗时比较长;
以下是对称加密的流程:
发送方通过秘钥(会话秘钥)对数据进行加密,接收方也通过相同的秘钥进行解密,这种发送方和接收方用同样秘钥加解密的方式叫做对称加密。
秘钥是通过非对称加密连接的时候生成的,已经保证了客户端的安全性,所以在数据传输过程中可以认为数据是安全的。
参考资料: 关于HTTPS,你需要知道的全部
http是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议。
用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。
拓展资料
HTTP协议的主要特点可概括如下:
1、支持客户/服务器模式。
2、 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
另一方面,在服务器不需要先前信息时它的应答就较快。
HTTP请求的方法:
HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式
1、OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
2、HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3、GET
向特定的资源发出请求。它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。
4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form
5、PUT
向指定资源位置上传其最新内容
6、DELETE
请求服务器删除Request-URL所标识的资源
7、TRACE
回显服务器收到的请求,主要用于测试或诊断
8、CONNECT
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)