• HTTP入门


    概述

    HTTP,即超文本传输协议,规定了浏览器和服务器之间数据传输的规则

    特点

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

    对于上述的无法记忆问题,java中采取了会话技术来解决

    HTTP请求数据格式

    请求数据分为三部分
    1.请求行:请求数据的第一行。其中GET表示请求方式,/表示请求资源路径,HTTP/1.1表示协议版本
    2.请求头:第二行开始,格式为key:value形式。
    3.请求体:POST请求的最后一部分,存放请求参数

    常见的HTTP请求头:
    Host:表示请求的主机名
    User-Agent:浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0.Chrome/79,IE浏览器的标识类似Mozilla/5.0 Windows NT)like Gecko
    Accept:表示浏览器能接收的资源类型,如text/*, image/或者*/*表示所有
    Accept-Language:表示浏览器偏好的语言,服务器可以据此返回不同语言的网页
    Accept-Encoding:表示刘览器可以支持的压缩类型,例如gzip,deflate等

    Get请求和POST请求的区别
    GET请求请求参数才请求行中,没有请求体,POST请求请求参数在请求体中
    GET请求请求参数有大小限制,POST请求没有

    HTTP响应数据格式

    响应数据分为三部分
    1.响应行:请求数据的第一行。HTTP/1.1表示协议版本,200表示状态响应码,OK表示状态码描述
    2.响应头:第二行开始,格式为key:value形式。
    3.响应体:最后一部分,存放响应数据

    常见响应头
    Content-Type:表示该响应内容的类型,例如text/html,image/jpeg
    Content-Length:表示该响应内容的长度(字节数)
    Content–Encoding:表示该响应压缩算法,例如gzip
    Cache-Control:指示客户端应如何缓存,例如max-age=300,表示可以最多缓存300秒

    状态码说明

    分类分类描述
    1**信息,服务器收到请求,需要请求者继续执行操作
    2**成功,操作被成功接收并处理
    3**重定向,需要进一步的操作以完成请求
    4**客户端错误,请求包含语法错误或无法完成请求
    5**服务器错误,服务器在处理请求的过程中发生了错误
  • 相关阅读:
    12.Ansible安装NFS案例
    java毕业设计二手图书回收销售网站Mybatis+系统+数据库+调试部署
    20240425在Ubuntu20.04下检测HDD机械硬盘
    Java之@Autowired再分析
    pytorch faster_rcnn转为onnx格式
    x6.js bug记录-流程图json数据导入进来之后拖拽节点,节点直接飞走了
    QUALITY-GATED CONVOLUTIONAL LSTM FOR ENHANCING COMPRESSED VIDEO
    基于postgis实现坐标转换的几个函数
    Visual Studio现已支持 C++ 开发容器
    【解决方案】SkeyeVSS综合安防视频技术保障游乐场安全嗨玩体验
  • 原文地址:https://blog.csdn.net/qq_61057438/article/details/127433761