1. 概念:超文本传输协议,规定了浏览器和服务器之间数据传输的规则。

  2. 特点:

  • 基于TCP协议,面向连接,更安全
  • 基于请求-响应模型,一次请求对应一次响应
  • 是无状态的协议,对事务处理没有记忆能力。每次请求-响应都是独立的。
  1. HTTP请求数据格式

    1. HTTP请求数据分为三部分:
    • 请求行:请求数据的第一行,类型为:请求方式 /请求资源路径 HTTP/1.1(协议版本)
    • 请求头:第二行开始,以键值对的形式
    • 请求体:POST请求方式特有的,在请求的最后一部分,用于存放请求参数
    1. 常见的几种HTTP请求头:
    • HOST:表示请求的主机名
    • User-Agent:表示浏览器版本
    • Accept:表示浏览器接收的资源类型,如text/*
    • Accept-Language:表示浏览器偏好的语言
    • Accept-Encoding:表示浏览器支持的压缩类型
    1. GET请求和POST请求区别:
    • get请求请求参数在请求行中,没有请求体;post请求请求参数在请求体中
    • get请求请求参数有大小限制,post请求没有
  2. HTTP响应数据格式

    1. HTTP响应数据同样分为三部分:
    • 响应行:格式为:响应版本 响应状态码 响应状态码描述
    • 响应头:第二行开始,以键值对的形式
    • 响应体:最后一部分,存放响应数据
    1. 常见的HTTP响应头
    • Content-Type:表示该响应内容的类型
    • Content-Length:响应内容的长度
    • Cache-Control:表示客户端应如何缓存
    1. 状态码大类
    • 1XX:临时状态码,表示请求已接受,告诉客户端继续请求或者如果它已经完成就忽略它。
    • 2XX:成功,表示请求已被成功接收,处理已完成。
    • 3XX:重定向,客户端请求的资源已经被移到其他地方,它让客户端再发起一个请求以完成整个处理。
    • 4XX:客户端错误,处理发生错误,责任在客户端。如:请求不存在的资源,客户端未被授权,禁止访问等。此时应该看是不是客户端请求路径有问题。
    • 5XX:服务端错误,处理发生错误,责任在服务端。如:服务端抛出异常,路由出错,HTTP版本不支持。这种情况,一般是要检查自己的代码是不是出了错误。
    1. 常见响应状态码
    • 200 OK 客户端请求成功,即处理成功。
    • 302 Found 资源移动到了location所指向的url,浏览器会自动重新访问这个页面。
    • 404 Not Found 请求资源不存在,如url不存在、网站资源被删除等
    • 500 Internal Server Error 服务器发生了不可预期的错误,应该查看日志

JavaWeb 中的 HTTP 基础知识的更多相关文章

  1. ASP.NET中的C#基础知识

    ASP.NET中的C#基础知识 说明:asp.net作为一种开发框架现在已经广为应用,其开发的基础除了前端的html.css.JavaScript等后端最重要的语言支持还是C#,下面将主要用到的基础知 ...

  2. MySQL中索引的基础知识

    本文是关于MySQL中索引的基础知识.主要讲了索引的意义与原理.创建与删除的操作.并未涉及到索引的数据结构.高性能策略等. 一.概述 1.索引的意义:用于提高数据库检索数据的效率,提高数据库性能. 数 ...

  3. day29—JavaScript中DOM的基础知识应用

    转行学开发,代码100天——2018-04-14 JavaScript中DOM操作基础知识即对DOM元素进行增删改操作.主要表现与HTML元素的操作,以及对CSS样式的操作.其主要应用知识如下图: 通 ...

  4. 走进JavaWeb技术世界1:JavaWeb的由来和基础知识

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  5. JAVAWeb入门之JSP基础知识

    也是到了考试周,很多课都结了,准备去学点新东西.随后就开始自学JAVAWeb. 要学习JAVAWeb,首先需下面的知识: a)      HTML/CSS/JS(前端页面),XML,JSON,vue ...

  6. javascript中BOM部分基础知识总结

    一.什么是BOM      BOM(Browser Object Document)即浏览器对象模型.      BOM提供了独立于内容 而与浏览器窗口进行交互的对象:      由于BOM主要用于管 ...

  7. Jquery源码中的Javascript基础知识(三)

    这篇主要说一下在源码中jquery对象是怎样设计实现的,下面是相关代码的简化版本: (function( window, undefined ) { // code 定义变量 jQuery = fun ...

  8. Java中浮点数的基础知识

    偶然查看Math.round的JDK public static int round(float a) { if (a != 0x1.fffffep-2f) // greatest float val ...

  9. Android中的一些基础知识(三)

    最近在回顾Android的基础知识,就把一些常见的知识点整理一下,以后忘了也可以翻出来看一看. 在TextView中显示图像(使用< img>标签) 在TextView中显示图片的方法有许 ...

  10. Android中的一些基础知识(二)

    这几天在回顾Android的基础知识,就把一些常见的知识点整理一下,以后忘了也可以翻出来看一看. 简单介绍一下Activity的生命周期 在API文档中对生命周期回调的函数描述的很详细,这里我只是翻译 ...

随机推荐

  1. Golang 入门 : 整型

    整型介绍 Go语言同时提供了有符号和无符号类型的整数运算.这里有 int8.int16.int32 和 int64 四种截然不同大小的有符号整形数类型,分别对应 8.16.32.64 bit大小的有符 ...

  2. bp靶场业务逻辑漏洞

    修改商品价格 目标是修改价格后低价买下这件夹克,再home这个页面的第一个商品就是 点击Add to cart,抓包,发现price的值可以该,改成000发现不行,0.00也不行,改成10后发现购物车 ...

  3. K8S基本概念和组件

    特点 便携性 无论公有云.私有云.混合云还是多云架构都全面支持 可扩展 模块化.可插拔.可挂载.可组合,支持各种形式的扩展 自修复 自保持应用状态.自重启.自复制.自缩放,声明式语法 组件 etcd ...

  4. Win7共享账号切换程序

    服务器共享目录需要多账号登录时,需要重启电脑才可切换不同账号登 为了不重启电脑就可立即切换不同账号登,特意写了此款软件, 下载: 链接:https://pan.baidu.com/s/1g_4SCXl ...

  5. BUUCTF--传统知识+古典密码

    1.题目 2.知识点 传统知识,天地干支 古典密码:栅栏密码和凯撒密码 3.解题 由天干地支表解题对应,28,30,23,8,17,10,16,30,"+甲子"代表+60 所以得出 ...

  6. MySQL查询当前连接数的语句

    1. 查看当前总连接数 SHOW STATUS LIKE 'Threads_connected'; 返回当前建立的连接总数 2. 查看最大连接数配置 SHOW VARIABLES LIKE 'max_ ...

  7. 构建窗体--java进阶day03

    1.窗体对象Jframe 要创建窗体就需要Jframe对象,窗体创建好不会自己显示,还需要我们自己写一段代码让其显示 2.设置窗体可见--setVisible(true) 该方法用于显示窗体 3.窗体 ...

  8. pytorch 实战教程之 Feature Pyramid Networks (FPN) 特征金字塔网络实现代码

    原文作者:aircraft 原文链接:pytorch 实战教程之 Feature Pyramid Networks (FPN) 特征金字塔网络实现代码 - aircraft - 博客园 学习YOLOv ...

  9. python,循环中通过判断条件中止循环的方法(braek 语句)

    直接对下方代码进行解析 for a in range(5): print(a) if a == 2: break 依次读取range内的数字,并答应出来.当读取出来的数字是2时,结束循环,执行后入下图 ...

  10. AI提示词:通用 vscode linux c++ 项目CMakeLists和bulid模板

    AI提示词 写vscode linux c++20 的CMakeLists.txt文件.build.rebuild文件 这是多项目结构,目录结构如下: projs: │ build.sh 顶层buil ...