Web入门-HTTP协议

目录

HTTP概述

HTTP特点

HTTP请求协议

请求数据的格式

响应数据的格式

响应的状态码

HTTP协议的解析


HTTP概述

  • HTTP:Hyper Text Transfer Protocol,超文本传输协议,规定浏览器和服务器之间数据传输的规则。(即请求数据和响应数据的格式)
  • 以上一篇SpringBoot项目的案例为例
    • 在浏览器中发送对应的请求,服务器对其进行响应
    • 请求数据

    • 响应数据

HTTP特点

  • 基于TCP协议:面向连接,安全
  • 基于请求-响应模型的:一次请求对应一次响应
  • HTTP协议是无状态的协议:对于事务处理没有记忆功能。每次请求-响应都是独立的。
    • 缺点:多次请求间不能共享数据
    • 优点:速度快

HTTP请求协议

请求数据的格式

三部分:请求行、请求头、请求体

  • 请求行:请求数据第一行(请求方式、资源路径、协议)

  • 请求头:第二行开始以键值对的形式
    •  
    • 常见请求头的含义:
      • Host 请求的主机名
        User-Agent 浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0...Chrome/79,IE浏览器的标识类似Mozilla/5.0(windowsNT...)like Gecko
        Accept 标识浏览器接受的资源类型,如text/*,image/*或者*/*表示所有
        Accept-Language 表示浏览器偏好的语言,服务器可以据此返回不同语言的网页
        Accept-Encoding 表示浏览器支持的压缩类型,例如gzip,deflate等
        Content-Type 请求主体的数据类型
        Content-Length 请求主体的大小(单位:字节)
  • 请求体:POST请求,存放请求参数

    • (GET和POST请求方式的区别,也是一道面试题

      GET:请求参数在请求行中,没有请求体,请求大小有限制

    • POST:请求参数在请求体中,POST请求没有大小限制

响应数据的格式

三部分:响应行、响应头、响应体

  • 响应行:响应数据第一行(协议、状态码、描述)
  • 响应头:第二行开始,以键值对的形式呈现的数据
    • 常见响应头
      • Content-Type 表示响应内容的类型,例如text/html、application/json=》将来客户端浏览器获取到数据后就会按照对应的数据格式进行处理
        Content-Length 表示响应内容的长度(字节数)
        Content-Encoding 表示该响应压缩算法,例如gzip。=》服务器端采用什么方法对数据进行压缩;客户端也用对应的方法进行解压缩
        Cache-Control 指示客户端应如何缓存,例如max-age=300表示最多可以缓存300秒=》服务器端返回的数据在浏览器缓存的时间
        Set-Cookie 告诉浏览器当前页面的所在的域设置cookie

  • 响应体:最后一部分,存放响应数据

响应的状态码

  • 状态码大类
    • 1xx 响应中-临时状态码,表示请求已经接收,告诉客户端应该继续请求或者它如果已经完成则忽略它
      2xx 成功-表示请求已经被成功接受,处理已完成
      3xx 重定向-重定向到其他地方,让客户端再发送一次请求以完成整个处理
      4xx 客户端错误-处理发生错误,责任在客户端。如:请求了不存在的资源,客户端未被授权,禁止访问等。
      5xx 服务器错误-处理发生错误,责任在服务器。如:程序抛出异常

HTTP协议的解析

猜你喜欢

转载自blog.csdn.net/weixin_64939936/article/details/131653299
今日推荐