HTTP

315 阅读2分钟

HTTP(超文本传输协议)

  • http/https

    • http是明文传输
    • https是以安全为目标的http协议(http的安全版本)
    • https是在http下加入了一个ssl层对http进行加密
    • 一般来说http的默认端口是80,https的端口号是443
    • http不需要证书,https需要证书
  • 报文首行,报文头,报文空行,报文体

  • get请求没有报文体,他是放在url地址上的

  • GET和POST区别

    • 参数位置:GET是在url里,POST是在请求报文体中
    • 参数长度:GET受限制,POST不受限制
    • Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.
    • 参数安全性:GET较差,POST较好
    • 浏览器访问直接都是GET请求
    • 缓存:GET默认读取缓存,POST不读取缓存
    • 两者最重要的区别是:get不能传中文,会乱码,而post就不会出现乱码问题了
  • 响应状态码:

    • 1XX: 临时响应,还需要请求者继续操作,一般表示正在处理

      • 100:请求正常,请继续请求
      • 101:需要服务器切换协议,服务器正在切换协议
    • 2XX: 成功,表示成功处理了请求

      • 200:成功,服务器处理成功
      • 201:成功,并且创建了新的资源(一般是POST请求)
    • 3XX: 代表需要后续操作才能完成

      • 301:永久重定向,自动将请求者转移到新的位置
      • 302:临时重定向
      • 304:缓存,上次请求到现在资源没有发生修改,直接读取浏览器缓存即可
    • 4XX:客户端错误

      • 400:请求错误,服务器不认识发送的语法
      • 401:未授权,需要身份验证
      • 403:服务器拒绝请求
      • 404:服务器找不到你请求的网页
    • 5XX:服务端错误

      • 500:服务端错误,无法完成请求
      • 503:服务器超载或者宕机,无法使用