Java研学-HTTP 协议

这篇具有很好参考价值的文章主要介绍了Java研学-HTTP 协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 概述

1 概念和作用

  概念:HTTP 是 HyperText Transfer Protocol (超文本传输协议)的简写,它是 TCP/IP 协议之上的一个应用层协议。简单理解就是 HTTP 协议底层是对 TCP/IP 协议的封装。
  作用:用于规定浏览器和服务器之间数据传输的格式,HTTP 协议默认端口号是 80,Tomcat 默认是 8080

2 HTTP 协议的特点

  ① 无状态:协议对客户端没有状态存储,对事务处理没有“记忆”能力。
  ② HTTP/1.0,每次请求需要通过 TCP 三次握手建立连接,请求结束通过四次挥手断开连接,一次连接只能处理一个请求数据的传输。HTTP/1.1 一次连接成功之后可以处理多个请求的数据传输
Java研学-HTTP 协议,# Java研学,java,http,开发语言

  ③ 基于请求和响应:基本的特性,由客户端发起请求,服务端响应
  ④ 简单快速、灵活

3 HTTP 协议的组成

  请求:浏览器访问服务器的过程
  响应:服务器响应数据给浏览器的过程
Java研学-HTTP 协议,# Java研学,java,http,开发语言

二 请求

1 表单提交请求页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--login是一个servlet-->
<h2>GET请求表单提交页面</h2>
<form action="login.html" method="get">
    账号:<input type="text" name="username"><br/>
    密码:<input type="password" name="pwd"><br/>
    <input type="submit" value="登录">
</form>
<hr>
<h2>POST请求表单提交页面</h2>
<form action="login.html" method="post">
    用户名:<input type="text" name="username"><br/>
    密码:<input type="password" name="pwd"><br/>
    <input type="submit" value="登录">
</form>
</body>
</html>

2 通信内容

① 登录页面
Java研学-HTTP 协议,# Java研学,java,http,开发语言
② post
Java研学-HTTP 协议,# Java研学,java,http,开发语言
③ get
Java研学-HTTP 协议,# Java研学,java,http,开发语言

3 请求内容组成

Java研学-HTTP 协议,# Java研学,java,http,开发语言
① 请求行:请求方式 请求地址 协议和版本
② 请求头:由各种键值对组成,是浏览器发送给服务器的信息,服务器可以获得这些信息
③ 请求体(只有POST请求才有请求体,数据在请求体中发送,GET方法没有请求体)
④ 除了 form 表单中 method=“post” 为post 请求,其余都为 get 请求

4 GET 和 POST 请求的区别

POST 方式 GET 方式
地址栏 数据在请求体中发送地址上不显示参数 数据请求行发送在地址栏上可以看参数
大小 数据没有限制大小 请求的数据不能超过2K
安全性 安全性更高 安全性更低
缓存 发送数据不使用本地缓存 从服务器上获取数据,会使用缓存。如果本地浏览器已经缓存页面,而且服务器的数据没有修改,不再从服务上得到数据
类型 表单 method 为 post 表单 method 为 get,超链接,浏览器直接访问资源等

三 响应

1 浏览器查看响应内容

Java研学-HTTP 协议,# Java研学,java,http,开发语言

2 响应的组成内容

Java研学-HTTP 协议,# Java研学,java,http,开发语言
Java研学-HTTP 协议,# Java研学,java,http,开发语言

① 响应行:协议和版本 状态码 状态信息
② 响应头:由各种键值对组成,是服务器返回给浏览器的信息。
③ 响应体:服务器发送给浏览器的数据,如果是网页是字符类型的数据,如果是图片是二进制的数据

3 常见状态码及其含义

  HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599)文章来源地址https://www.toymoban.com/news/detail-832084.html

状态码 含义
200 服务器正确响应
302 浏览器端进行页面跳转
304 服务器告诉浏览器使用本地缓存信息
404 请求的资源找不到
405 Servlet 执行了原生的 doGet 或 doPost 方法
500 服务器内部错误,通常是 Java 代码有问题

到了这里,关于Java研学-HTTP 协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 什么是Java中的WebSockets,以及它与HTTP协议的区别?

    WebSocket 是一种在单个 TCP 连接上进行全双工通信的网络协议,它提供了一种在客户端和服务器之间进行实时双向数据传输的机制。与传统的 HTTP 协议相比,WebSocket 具有以下特点和区别: WebSocket 的特点: 全双工通信: WebSocket 提供了全双工通信的能力,客户端和服务器可以同

    2024年02月19日
    浏览(12)
  • Java调用WebService接口,SOAP协议HTTP请求返回XML对象

    Java调用Web service接口SOAP协议HTTP请求,解析返回的XML字符串: 1. 使用Java的HTTP库发送SOAP请求,并接收返回的响应。 可以使用Java的HttpURLConnection、Apache HttpClient等库。 2. 将返回的响应转换为字符串。 3. 解析XML字符串 ,可以使用Java的DOM解析器或者其他第三方库,如JDOM、DOM4J等。

    2024年01月19日
    浏览(16)
  • http协议之digest(摘要)认证,详细讲解并附Java SpringBoot源码

    http协议之digest(摘要)认证,详细讲解并附Java SpringBoot源码

    目录 1.digest认证是什么? 2.digest认证过程 3.digest认证参数详解 4.基于SpringBoot实现digest认证 5.digest认证演示 6.digest认证完整项目 7.参考博客         HTTP通讯采用人类可阅读的文本格式进行数据通讯,其内容非常容易被解读。出于安全考虑,HTTP规范定义了几种认证方式以对访问

    2023年04月18日
    浏览(11)
  • [Java网络安全系列面试题] HTTP和HTTPS协议区别和联系都有哪些?

    [Java网络安全系列面试题] HTTP和HTTPS协议区别和联系都有哪些?

    2.1 HTTP特点 1.支持客户/服务器模式。( C/S 模式) 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有 GET 、 HEAD 、 POST 。每种方法规定了客户与服务器联系的类型不同。由于 HTTP 协议简单,使得 HTTP 服务器的程序规模小,因而通信速度很快。

    2024年04月23日
    浏览(13)
  • Java+Demo对接中国移动 云MAS短信发送(http协议详解,新测成功!)

    Java+Demo对接中国移动 云MAS短信发送(http协议详解,新测成功!)

    一.登录官网,下载http接入文档(随着官网不断更新,可参考官网的文档) 官网地址为:云mas业务平台  进入云MAS管理平台,找到 管理-接口管理 的列表页。 (必读:本文对接方式是 java引用jar包,进行sdk协议对接,后台java代码是引用jar包,调用短信服务的http接口,所以你创

    2024年02月09日
    浏览(11)
  • 用Java开发HTTP代理服务器

    HTTP代理服务器是一种网络应用,它充当位于客户端和目标服务器之间的中间节点,将客户端发出的HTTP请求转发给目标服务器,并将目标服务器返回的HTTP响应内容回传给客户端。通过使用代理服务器,客户端可以避免直接访问目标服务器,从而更加安全地访问互联网资源。

    2024年02月16日
    浏览(14)
  • Java服务器调用Python服务器进行交互:基于Http协议的Restful风格调用(Springboot/FastApi)

    Java服务器调用Python服务器进行交互:基于Http协议的Restful风格调用(Springboot/FastApi)

    实现Java服务器调用Python服务器进行交互以及数据传输,可采用以下方法,亲测有效: 基于Restful风格进行请求调用: 框架 : Java服务器采用Springboot框架进行搭建服务 python服务器采用FastApi框架进行搭建服务 思路 :前端–Java–python–Java–前端 代码设计 :Axios-@PostMapping-请求

    2024年04月26日
    浏览(12)
  • tomcat(跟着宝哥学java:tomcat)tomcat安装 发布项目 配置eclipse http协议详解、get请求、post请求、url详解

    tomcat(跟着宝哥学java:tomcat)tomcat安装 发布项目 配置eclipse http协议详解、get请求、post请求、url详解

    在%CATALINA_HOME%webapps下创建一个文件夹:hehe 在hehe中创建子文件夹:WEB-INF和资源文件夹(html/jsp/css/imgs/js) 在WEB-INF中创建子文件夹classes::存储java源文件生成的字节码文件 在WEB-INF中创建子文件夹lib::存储项目以来的jar 在WEB-INF中创建子web项目的核心配置文件:web.xml web

    2024年02月03日
    浏览(10)
  • 【Java开发】Spring Cloud 11:Gateway 配置 ssl 证书(https、http、域名访问)

    【Java开发】Spring Cloud 11:Gateway 配置 ssl 证书(https、http、域名访问)

    最近研究给微服务项目配置 ssl 证书,如此才可以对接微信小程序(需要使用 https 请求)。传统单体项目来说,首先往项目中添加证书文件,然后在配置文件中配置 ssl 证书路径、密码等相关信息;那么微服务这么多项目,总不能一个个配置 ssl 证书,最后发现可以直接通过网

    2024年02月08日
    浏览(48)
  • Java研学-Maven基础

    Java研学-Maven基础

      Maven是一个跨平台的项目管理工具,主要用于基于 Java 平台的项目(Maven 底层为Java)构建、依赖包管理和项目信息管理,只需要运行一条简单的命令,就能高效的完成构建动作   Maven 能提供一种项目的依赖配置,配置好的项目,Maven 能自动的从 Maven 的中央仓库中下载

    2024年01月17日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包