HTTP协议

    • 作用

      • 规定了浏览器与服务器之间数据传输的规则
    • 要求

      • 浏览器在向服务器发送请求数据时,或是服务器在向浏览器发送响应数据时,都必须按照固定的格式进行数据传输
    • 特点

      • 基于TCP协议
        • “三次握手”
      • 基于请求-响应模型
        • 一次请求对应一次响应(先请求后响应)
      • HTTP协议是无状态协议
        无状态协议:无状态指的是客户端发送HTTP请求给服务端之后,服务端根据请求响应数据,响应完后,不会记录任何信息。
        缺点: 多次请求间不能共享数据
        优点: 速度快
        • 对于数据没有记忆能力。每次请求-响应都是独立的
    • 分类

      • 请求协议
        • 请求行、请求头、请求体
      • 响应协议
        • 响应行、响应头、响应体
    • 请求协议

      • get(常用)
        • 请求行
          • 获取资源。| 向特定的资源发出请求
      • post(常用)
        • 请求行
          • 传输实体主体。 向指定资源提交数据进行处理请求(例:上传文件),数据被包含在请求体中
      • 请求头(通用)
        • 格式为key: value形式
        • 常见请求头
          • Host: 表示请求的主机名
          • User-Agent: 浏览器版本
          • Accept:表示浏览器能接收的资源类型
          • Accept-Language表示浏览器偏好的语言,服务器可以据此返回不同语言的网页
          • Accept-Encoding:表示浏览器可以支持的压缩类型
          • Content-Type:请求主体的数据类型
          • Content-Type:请求主体的数据类型
      • 组成(通用)
        • 请求方式
        • 资源路径
          • 请求路径
          • 请求参数(get特有)
            • 请求参数是以key=value形式出现,多个请求参数之间使用&连接
            • 请求路径和请求参数之间使用?连接
        • 协议/版本
      • 请求体(post特有)
        • 存储请求参数
        • 请求体和请求头之间是有一个空行隔开(作用:用于标记请求头结束
      • 区别
        • 请求参数
          • get在请求行中
          • post在请求体中
        • 请求参数长度
          • get请求参数长度有限
          • post请求参数长度没有限制
        • 安全性
          • get安全性低。原因:请求参数暴露在浏览器地址栏中
          • post安全性相对高
    • 响应协议

      • 响应行
        • 协议及版本
        • 响应状态码
          • 1xx
            • 响应中 --- 临时状态码。表示请求已经接受,告诉客户端应该继续请求或者如果已经完成则忽略
          • 2xx
            • 成功---表示请求已经被成功接收,处理已完成
          • 3xx
            • 重定向---重定向到其它地方,让客户端再发起一个请求以完成整个处理
          • 4xx
            • 客户端错误--- 处理发生错误,责任在客户端,如:客户端的请求一个不存在的资源,客户端未被授权,禁止访问等
          • 5xx
            • 服务器端错误 --- 处理发生错误,责任在服务端,如:服务端抛出异常,路由出错,HTTP版本不支持等
        • 状态码描述
      • 响应头
        • 格式为key:value形式
        • 常见的响应头
          • Content-Type:表示该响应内容的类型,例如text/html,image/jpeg ;
          • Content-Length:表示该响应内容的长度(字节数
          • Content-Encoding:表示该响应压缩算法,例如gzip
          • Cache-Control:指示客户端应如何缓存,例如max-age=300表示可以最多缓存300秒
          • Set-Cookie: 告诉浏览器为当前页面所在的域设置cookie
      • 响应体
        • 存储响应的数据
        • 响应体和响应头之间有一个空行隔开(作用:用于标记响应头结束)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值