HTTP(Java web方向补充篇)

HTTP(Java web方向补充篇)

HTTP简介

概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则

请添加图片描述

HTTP协议特点:
  • 基于TCP协议:面向连接,安全
  • 基于请求-响应模型的:一次请求对应一次响应
  • HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的
  • 缺点:多次请求间不能共享数据。Java中使用会话技术(Cookie、Session)来解决这个问题
  • 优点:速度快

HTTP请求数据格式

请求数据分为3部分:

  • 请求行:请求数据的第一行。其中GET表示请求方式,/ 表示请求资源路径,HTTP/1.1 表示协议版本

  • 请求头:第二行开始,格式为key:value形式。

    • 常见的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等。
  • 请求体:POST请求的最后一部分,存放请求参数

    • GET请求和POST请求区别:
      • GET请求请求参数在请求行中,没有请求体。POST请求请求参数在请求体中
      • GET请求请求参数大小有限制,POST没有
    GET HTTP/1.1
    Host:www.itcast.cn
    Connection:keep-alive
    Cache-Control:max-age=0 Upgrade-Insecure-Requests:1
    User-Agent:Mozilla/5.0 Chrome/91.0.4472.106
    
    POST HTTP/1.1
    Host:www.itcast.cn
    Connection:keep-alive
    Cache-Control:max-age=0 Upgrade-Insecure-Requests:1
    User-Agent:Mozilla/5.0 Chrome/91.0.4472.106
    username=superbaby&password=123456
    

HTTP响应数据格式

响应数据分为3部分:

  • 响应行:响应数据的第一行。其中HTTP/1.1表示协议版本,200表示响应状态码,OK表示状态码描述

    状态码分类说明
    1XX响应中——临时状态码,表示请求已经接受,告诉客户端应该继续请求或者如果它已经完成则忽略它。
    2XX成功——表示请求已经被成功接收,处理已完成。
    3XX重定向——重定向到其它地方:它让客户端再发起一个请求以完成整个处理。
    4XX客户端错误——处理发生错误,责任在客户端,如:客户端的请求一个不存在的资源,客户端未被授权,禁止访问等。
    5XX服务器端错误——处理发生错误,责任在服务端,如:服务端抛出异常,路由出错,HTTP版本不支持等。
  • 响应头:第二行开始,格式为key:value形式

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

    HTTP/1.1 200 OK
    Server:Tengine
    Content-Type:text/html
    Transfer-Encoding:chunked...
    
    <html>
    <head>
    	<title></title>
    </head>
    <body></body>
    </html>
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/361803.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Redis】实现购物秒杀及分布式锁

Redis实现购物秒杀及分布式锁 全局唯一ID Redis自增ID策略 ID构造是:时间戳 + 计数器 每天一个key,方便统计订单量 业务实现 获取指定时间的秒数 LocalDateTime timeBegin = LocalDateTime.of(2024, 1, 1, 0, 0, 0); long second = timeBegin.toEpochSecond(ZoneOffset…

AI赋能编程 | 自动化工具助力高效办公

前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言泡泡AI工具卡片思维导图Markdown编辑器 其他工具文件免费处理工具结语 合集…

汽车行业要不要引入IPD?

摘要&#xff1a; 本文中&#xff0c;我们站在汽车行业的视角&#xff0c;着重从背景、理念、流程和架构这4个比较宏观的层面&#xff0c;对IPD的增量进行了对照阐释。 五年前&#xff0c;我并没有关心过IPD&#xff0c;行业和公司都有自己成功且完善的体系&#xff0c;为什么…

【3DGS】从新视角合成到3D Gaussian Splatting

文章目录 引言&#xff1a;什么是新视角合成任务定义一般步骤NeRF的做法NeRF的三维重建NeRF的渲染 3DGS的三维重建从一组图片估计点云高斯点云模型球谐函数参数优化损失函数和协方差矩阵的优化高斯点的数量控制(Adaptive Density Control)新的问题 3DGS的渲染&#xff1a;快速可…

MySQL数据库基础第一篇(SQL通用语法与分类)

文章目录 一、SQL通用语法二、SQL分类三、DDL语句四、DML语句1.案例代码2.读出结果 五、DQL语句1.DQL-基本查询2.DQL-条件查询3.DQL-聚合函数4.DQL-分组查询5.DQL-排序查询6.DQL-分页查询1.案例代码2.读出结果 在当今数据库驱动的世界里&#xff0c;SQL&#xff08;结构化查询语…

Spring Boot 中操作 Bean 的生命周期

1.InitializingBean和DisposableBean InitializingBean接口提供了afterPropertiesSet方法&#xff0c;用于在bean的属性设置好之后调用&#xff1b; DisposableBean接口提供了destroy方法&#xff0c;用于在bean销毁之后调用&#xff1b; public class TestComponent implem…

2024.1.31日总结

服创大赛的有一个选题是【A16】新苗同学 - 大学新生智能迎新平台&#xff0c;这个对前端的要求挺高的&#xff0c;需要设计游戏化页面&#xff0c;刚刚搜索了一下&#xff0c;感觉难度很大&#xff0c;又要有创意&#xff0c;而且动画效果也要不错&#xff0c;整体页面才会美观…

Nous Hermes 2:超越Mixtral 8x7B的MOE模型新高度

引言 随着人工智能技术的迅猛发展&#xff0c;开源大模型在近几年成为了AI领域的热点。最近&#xff0c;Nous Research公司发布了其基于Mixtral 8x7B开发的新型大模型——Nous Hermes 2&#xff0c;这一模型在多项基准测试中超越了Mixtral 8x7B Instruct&#xff0c;标志着MOE…

docker-学习-2

docker学习第二天 docker学习第二天1.docker和虚拟机的区别2.docker的底层隔离机制2.1 Namespaces(命名空间)2.1.1 什么是命名空间 2.2 Cgroups2.3 Union file systems2.4 Container format2.5 docker在底层如何做隔离的&#xff0c;如何进行资源限制的&#xff1f; 3. docker命…

【数据分享】1929-2023年全球站点的逐日最高气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;其中又以气温指标最为常用&#xff01;说到气温数据&#xff0c;最详细的气温数据是具体到气象监测站点的气温数据&#xff01; 之前我们分享过1929-2023年全球气象站…

rabbitmq基础-java-2、work模型

1、简介 工作队列模式&#xff08;Work Queue Mode&#xff09;&#xff1a;在这个模型中&#xff0c;生产者同样将消息发送到队列&#xff0c;但多个消费者可以从队列中获取消息并发处理。这意味着不同的消费者可以独立地处理各自的任务&#xff0c;从而提高效率。 2、消息发送…

大华智能物联综合管理平台 任意文件读取漏洞复现(QVD-2023-45063)

0x01 产品简介 大华ICC智能物联综合管理平台对技术组件进行模块化和松耦合&#xff0c;将解决方案分层分级&#xff0c;提高面向智慧物联的数据接入与生态合作能力。 0x02 漏洞概述 大华ICC智能物联综合管理平台 readpic接口处存在任意文件读取漏洞&#xff0c;未经身份验证…

JSON巨匠:FastJSON的序列化解析

Fastjson 简介 Fastjson 是一个 Java 库&#xff0c;可以将 Java 对象转换为 JSON 格式&#xff0c;当然它也可以将 JSON 字符串转换为 Java 对象。 Fastjson 可以操作任何 Java 对象&#xff0c;即使是一些预先存在的没有源码的对象。 Fastjson 源码地址&#xff1a;https://…

Advanced CNN

文章目录 回顾Google NetInception1*1卷积Inception模块的实现网络构建完整代码 ResNet残差模块 Resedual Block残差网络的简单应用残差实现的代码 练习 回顾 这是一个简单的线性的卷积神经网络 然而有很多更为复杂的卷积神经网络。 Google Net Google Net 也叫Inception V…

轻量式RPC调用日志链路设计方案

导语: 调用链跟踪系统,又称为tracing&#xff0c;是微服务设计架构中&#xff0c;从系统层面对整体的monitoring和profiling的一种技术手 背景说明 由于我们的项目是微服务方向&#xff0c;中后台服务调用链路过深&#xff0c;追踪路径过长&#xff0c;其中某个服务报错或者异…

探索设计模式的魅力:精准解读桥接模式-用桥接模式构建可扩展的软件系统

设计模式专栏&#xff1a;http://t.csdnimg.cn/nolNS 目录 一、了解桥接模式&#xff1a;探索抽象和实现的分离 1.1 开-闭原则 1.2 组合/聚合复用原则 1.3 定义 1.4 用意 1.5 基本思想 1.6 组成部分 1.7 桥梁模式的示意性系统的结构图 二、桥接模式的优势&#xff1a…

torchvision.models._utils.IntermediateLayerGetter()使用

torchvision.models._utils.IntermediateLayerGetter&#xff08;&#xff09;使用 源码如下&#xff1a; from collections import OrderedDictimport torch from torch import nnclass IntermediateLayerGetter(nn.ModuleDict):"""Module wrapper that ret…

【Tomcat与网络6】 Tomcat是如何扩展Java线程池的?

目录 1.Java 的线程池 2.Tomcat 的线程池 学习Tomcat的时候&#xff0c;有很多绚丽的技术值得我们学习&#xff0c;但是个人认为Tomcat的线程池扩展是最值得研究的一个部分&#xff0c;线程池的应用太广了&#xff0c;也重要了&#xff0c;Java原生线程池的特征我相信很多人都…

matlab中的图窗属性和坐标轴的属性

图窗的Position和Outerposition Position 指定窗口的尺寸和窗口在屏幕中的位置。 Outerposition 指定窗口外轮廓的大小和位置。 两者都是用一个4维向量来定义&#xff0c;格式为[左 底 宽 高]。 可通过set函数修改Position和Outerposition&#xff0c;如下&#xff1a;在屏幕左…

adb 无线连接 操作Android设备

最近集五福活动比较热门 可以用这个工具 用自己擅长的语言写一个循环程序 运行起来就可以 自动帮我们 看视频得福卡了 很方便 while (true) {sleep(mt_rand(15, 25));system(adb shell input swipe 500 2000 500 1000 100); } 1. 首先下载 安卓开发工具 adb adb网盘链接 链接…