计算机网络-应用层-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区别

  1. 请求类型:get请求指定页面信息;post请求向指定资源提交信息

  2. 提交数据位置:get请求的数据附在url后,以?分割,&连接参数;post提交数据放在http包体中

  3. 长度:get长度受限于url长度;post无长度限制

  4. 安全性:post安全性更高,因为get请求的数据都在url后

  5. 发送数据包个数:get只发送一个TC数据包,浏览器会把http header和data一并发送出去,服务器响应200;post发送两个,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

posted @ 2020-08-29 21:50  rikarika  阅读(126)  评论(0)    收藏  举报