计算机网络-应用层-HTTP协议
http状态码
-
1xx 收到请求,需等待接下来的请求执行操作
101 Switching Protocals 切换协议 -
2xx 成功
200 OK
206 Partial Content 文件下载到一半后申请继续传输,在请求头后标记需要哪部分数据,服务器接收后返回206和接下来传输的内容 -
3xx 重定向
301 Moved Permanently 旧地址改变,返回新的地址。网站修改域名时可能保留旧域名,浏览器访问旧域名服务器返回301和新域名,浏览器自动访问新域名
304 Not Modified 检验缓存是否有效时,若某个日期后网站内容没有改动则服务器返回304 -
4xx 客户端错误
400 Bad Request url参数写错
403 Forbidden 不允许跨域请求。使用Cores方法跨域的时候,浏览器首先发送一个option请求,若服务器不允许这个跨域请求则返回403。
404 Not Found 找不到资源 -
5xx 服务端错误
500 Internal Server Error 服务器内部错误
502 Bad Gateway 网关或者代理服务器错误
http和https
http的缺点有明文、不验证通信方身份、无法证明报文完整性
https在http基础上添加SSL层,完成了加密+认证+完整性保护
- https流程:
------用户--------------------------------------------服务器------
发起安全连接的请求-------------------------------------------
-------------------------返回CA认证的数字证书和非对称加密的公钥
用SSL证书解密公钥,用公钥加密对称加密的密钥--------------
--------------------------用私钥解密密钥,用密钥加密接下来的通信
https能不能用户端进行非对称加密,服务器进行非对称加密?
不能,因为没有ca保持数字证书,就可以进行中间人攻击。客户端的数量比服务端多很多,数量上ca难以维持每个客户端的数字证书。
GET和POST区别
-
请求类型:get请求指定页面信息;post请求向指定资源提交信息
-
提交数据位置:get请求的数据附在url后,以?分割,&连接参数;post提交数据放在http包体中
-
长度:get长度受限于url长度;post无长度限制
-
安全性:post安全性更高,因为get请求的数据都在url后
-
发送数据包个数:get只发送一个TC数据包,浏览器会把http header和data一并发送出去,服务器响应200;post发送两个,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

浙公网安备 33010602011771号