Web入门-HTTP协议

黑马程序员JavaWeb开发教程

文章目录

  • 一、概述
    • 1、概念
    • 2、特点
  • 二、请求协议
    • 1、HTTP-请求数据格式
    • 2、get请求和post请求的区别
  • 三、响应协议
    • 1、HTTP-相响应格式
    • 2、常见响应状态码
    • 3、常见的响应头

一、概述

1、概念

  • Hyper Text Transfer Protocol ,超文本传输协议,规定了浏览器和服务器之间数据传输的规则(浏览器和服务器之间数据交互的数据格式)

2、特点

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

二、请求协议

1、HTTP-请求数据格式

  1. 请求行:请求数据第一行(请求方式、资源路径、协议)
  2. 请求头:第二行开始,格式 key:value
  • Host:请求的主机名
  • User-Agent:浏览器版本
  • Accept:表示浏览器能接受的资源类型,如text/*,image/*,或者*/*表示所有
  • Accept-Language:表示浏览器偏好的语言,服务器就可以根据次返回不同语言的网页
  • Accept-Encoding:表示浏览器可以支持的压缩类型,
  • Content-Type:请求主体的数据类型
  • Content-Length:请求主体的大小(单位:字节)
  1. 请求体:POST请求,存放请求参数

2、get请求和post请求的区别

  1. 请求方式-GET:请求参数在请求中,没有请求体,如:/brand/findAll?name=OPPO&status=1。GET请求大小是有限制的
  2. 请求方式-POST:请求参数在请求体中,POST请求大小是没有限制的

三、响应协议

1、HTTP-相响应格式

  1. 响应行:相应数据第一行(协议、状态码、描述)
  2. 响应头:第二行开始,格式 key:value
  3. 响应体:最后一部分,存放响应数据

2、常见响应状态码

  1. 1xx:响应中-临时状态码,表示请求已经接受,告诉客户端应该继续请求或者如果它已经完成则忽略它
  2. 2xx:成功-表示请求已经被成功接受,处理已经完成
    • 200 ok 客户端请求成功,即处理成功,这是我们最想看到的状态码
  3. 3xx:重定向-重定向到其他地方;让客户端再发起一次请求以完成整个 处理
  4. 4xx:客户端错误-处理发生错误,责任在客户端。如:请求了不存在的资源,客户端未被授权、禁止访问等
    • 404 Not Found 请求资源不存在,一般是URL输入有误,或者网站资源被删除了
  5. 5xx:服务器错误-处理发生错误,责任在服务端。如:程序抛出异常等
    • 500 “Internal Server Error” 服务器发生不可预期的错误,服务器出异常了
  6. 状态码大全:https://cloud.tencent.com/developer/chapter/13553

3、常见的响应头

  1. content-Type:表示相应内容的类型
  2. Content-Length:表示相应内容的长度
  3. Content-Encoding:表示响应压缩算法
  4. Cache-Control:指示客户端应如何缓存,例如max-age=300,表示最多缓存300秒
  5. Set-Cookie:高速浏览器为当前页面所在的域设置Cookie

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

打造稳定安全的亚马逊测评环境:关键步骤与要点一览

亚马逊测评环境的搭建是一项既复杂又需要深入细致考虑的工作,它涉及多方面的技术配置和资源准备。以下是一些关键步骤和要点,帮助您更高效地构建测评环境。 一、资源筹备 1. 养号系统:选择稳定、高效的养号系统,确保能够模拟真实…

Linux系统-进程和计划任务管理

一.程序和进程 1.程序 保持在硬盘、光盘等介质中的可执行代码和数据文件中静态保存的代码 2.进程 在CPU及内存中运行的程序代码动态执行的代码父、子进程每个程序可以创建一个或多个进程 3.进程特征 动态性:进程是程序的一次执行过程,是临时的&…

决策树分类任务实战(python 代码详解)

目录 一、导入库、数据集、并划分训练集和测试集 二、参数调优 (一)第一种调参方法:for循环 (1)单参数优化 ①单参数优化(无K折交叉验证) ②单参数K折交叉验证 优化 (2)多参数优化 ①多参数优化(无K折交叉验证) 参数介绍: ②多参数K折交叉验证…

vulfocus靶场名称: apache-cve_2021_41773/apache-cve_2021_42013

Apache HTTP Server 2.4.49、2.4.50版本对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到Web目录外的其他文件,如系统配置文件、网站源码等,甚至在特定情况下,攻击者可构造恶意请求执行命令,控…

记录一下hive启动metestore服务时报错

【背景说明】 之前hadoop有问题,把hadoop和MySQL删了重装,hive没有动,然后启hive的metastore服务的时候,显示找不到metastore数据库 【报错】 Caused by: java.lang.reflect.InvocationTargetExceptionat sun.reflect.Generated…

【Java框架】SpringMVC(一)——基本的环境搭建及基本结构体系

目录 MVC模式视图(View)控制器(Controller)模型(Model)JSP Model1JSP Model2MVC的优点MVC的缺点 Spring MVC架构介绍特点 SpringMVC环境搭建(在前面Spring整合Mybatis的基础上)1.创建控制器Controller2.创建springmvc配置文件,并添加Controller的Bean3.web.xml中配置…

# 从浅入深 学习 SpringCloud 微服务架构(二)模拟微服务环境(1)

从浅入深 学习 SpringCloud 微服务架构(二)模拟微服务环境(1) 段子手168 1、打开 idea 创建父工程 创建 artifactId 名为 spring_cloud_demo 的 maven 工程。 --> idea --> File --> New --> Project --> Ma…

2024 CKA 最新 | 基础操作教程(十七)

题目内容 设置配置环境: [candidatenode-1] $ kubectl config use-context ek8s Task 将名为 node02 的 node 设置为不可用,并重新调度该 node 上所有运行的 pods。 考点相关内容分析 node 在 Kubernetes(K8s)中&#xff0c…

VASA-1:一键生成高质量视频,颠覆你的想象!

VASA-1:语音生成AI视频 前言 最近,微软公司公布了一项图生视频的 VASA-1 框架,该 AI 框架只需使用一张真人肖像照片和一段个人语音音频,就能够生成精确逼真的相对应文本的视频,而且可以使表情和面部动作表现的十分自然…

【数据结构】栈和队列(链表模拟队列)

学习本章节必须具备 单链表的前置知识, 建议提前学习:点击链接学习:单链表各种功能函数 细节 详解 本章节是学习用 单链表模拟队列 1. 单链表实现队列 思路如下 队列:只允许在一端进行插入数据操作,在另一端进行删除数…

线程互斥及基于线程锁的抢票程序

我们实现一个简单的多线程抢票程序。 #include<iostream> #include<thread> #include<unistd.h> #include<functional> #include<vector> using namespace std; template<class T> using func_tfunction<void(T)>;//返回值为void,…

XUbuntu18.04 源码编译Qt4.5.3的过程

由于新公司很多旧的软件都是基于这个版本做的嵌入式开发。 所以想要自己搭一套基于Linux的非嵌入式开发环境&#xff0c;方便用来调试和编译代码。 这样就可以完成在linux下开发&#xff0c;然后直接嵌入式打包&#xff0c;涉及到界面的部分就不需要上机调试看问题了。 所以…

Axure引用ECharts图表 解决火狐浏览器出错

Axure原型添加Echarts图表&#xff0c;没耐心看文章的可以直接下载示例 Axure中使用ECharts图表示例 1. 打开Axure新建页面 2. 页面添加元件 元件类型随意&#xff0c;矩形、动态面板、热区、图片 甚至段落都可以3. 命名元件 随意命名&#xff0c;单个页面用到多个图表时名…

机器学习-11-基于多模态特征融合的图像文本检索

总结 本系列是机器学习课程的系列课程&#xff0c;主要介绍机器学习中图像文本检索技术。此技术把自然语言处理和图像处理进行了融合。 参考 2024年&#xff08;第12届&#xff09;“泰迪杯”数据挖掘挑战赛 图像特征提取&#xff08;VGG和Resnet特征提取卷积过程详解&…

Facebook账号运营要用什么IP?

众所周知&#xff0c;Facebook封号大多数情况都是因为IP的原因。Facebook对于用户账号有严格的IP要求和限制&#xff0c;以维护平台的稳定性和安全性。在这种背景下&#xff0c;海外IP代理成为了一种有效的解决方案&#xff0c;帮助用户避免检测&#xff0c;更加快捷安全地进行…

学习笔记:Vue2中级篇

Vue2 学习笔记&#xff1a;Vue2基础篇_ljtxy.love的博客-CSDN博客学习笔记&#xff1a;Vue2中级篇_ljtxy.love的博客-CSDN博客学习笔记&#xff1a;Vue2高级篇_ljtxy.love的博客-CSDN博客 Vue3 学习笔记&#xff1a;Vue3_ljtxy.love的博客&#xff09;-CSDN博客 文章目录 5.…

SpringCloud系列(5)--SpringCloud微服务工程公共部分提取

前言&#xff1a;在上一章节中我们创建了两个个SpringCloud工程&#xff0c;但在两个工程中分别存在着一些重复的部分&#xff0c;例如重复的实体类&#xff08;如图所示&#xff09;&#xff0c;这样会造成系统的冗余&#xff0c;所以我们需要把公共的类提取到一个工程里&…

JavaScript变量及数据类型

目录 概述&#xff1a; 变量&#xff1a; 前言&#xff1a; 变量的命名&#xff1a; 定义变量&#xff1a; 为变量赋值&#xff1a; 变量提升&#xff1a; let和const关键字&#xff1a; JS数据类型&#xff1a; 前言&#xff1a; typeof操作符&#xff1a; JS基本…

RK3588 Android13 鼠标风格自定义动态切换

前言 电视产品,客户提供了三套鼠标图标过来,要求替换系统中原有丑陋风格且要支持动态切换, 并且在 TvSetting 中要有菜单,客户说啥就是啥呗,开整。 效果图 test framework 部分修改文件清单 png 为鼠标风格资源图片,这里就不提供了,可自由找一个替换一下就行 framew…

渐进时间复杂度O(n)

基本操作数 算法的运行速度受计算机性能的影响&#xff0c;所以通常考虑算法效率的不是算法运行的实际用时&#xff0c;而是算法运行所需要进行的基本操作的数量。 像加减乘除、访问变量、给变量赋值等都可以看作基本操作。对基本操作的计数或是估测可以作为评判算法用时的指标…