计算机网络:
1、GET与POST区别:
参数:GET在URL中,POST在request body中
接收:GET :Request.QueryString POST :Request.Form
安全性:GET低,POST高
数据量:GET不超过2KB,POST可以很大
传送:GET放到URL中,POST通过httpPost机制将参数放在HTML header中
访问:get能在浏览器输入网址访问,post不能
数据包:get产生一个TCP数据包,POST产生两个,post先要发送一个header,在发送data
2、HTTP返回状态码:
1XX:系列响应代码仅在与HTTP服务器沟通时使用。
2XX:系列响应代码表明操作成功了。
3XX:系列响应代码表明:客户端需要做些额外工作才能得到所需要的资源。它们通常用于GET请求。他们通常告诉客户端需要向另一个URI发送GET请求,才能得到所需的表示。那个URI就包含在Location响应报头里。
4XX:客户端错误
5XX:服务端错误200---ok
304---刷新数据未被修改与浏览器中缓存版本相同
400-----Bad Request 403---Forbidden
404-----Not Found请求的URI是空的
500----Internal Server Error 502----BadGateway
3、http1.0,1.1,1.x与2.0
(1)HTTPS 与 HTTP 相比:
开销:HTTPS协议需要到CA申请证书需要交费。
HTTP协议运行在TCP之上,明文传输
HTTPS运行在SSL/TLS之上,SSL/TLS运行在TCP之上,密文传输。
HTTP和HTTPS使用的端口也不一样,前者是80,后者是443。
HTTPS可以有效的防止运营商劫持,解决了防劫持的一个大问题。
(2)HTTP1.0 和 HTTP1.1 相比
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
错误通知的管理:在HTTP1.1中新增了24个错误状态响应码
长连接: HTTP 1.1支持长连接和请求的流水线处理,通道共享减少多次握手在一个TCP连接上可以传送多个HTTP请求和响应,HTTP1.1中默认开启Connection: keep-alive,一定程度上弥补了HTTP1.0每次请求都要创建连接的缺点。通过设置http的请求头部和应答头部,保证本次数据请求结束之后,下一次请求仍可以重用这一通道,避免重新握手。减少了建立和关闭连接的消耗和延迟
(3)HTTP2.0 和 HTTP1.X 相比
新的二进制格式(Binary Format):HTTP1.x的解析是基于文本。文本的表现形式有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只认0和1的组合。基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮。
header压缩: HTTP1.x的header带有大量信息,而且每次都要重复发送。
网友评论