Geeks_Z の Blog Geeks_Z の Blog
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)

Geeks_Z

AI小学生
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)
  • Linux

  • Java

  • 微服务笔记

  • MySQL

  • Nginx

  • HTML

  • CSS

  • JavaWeb

    • JavaWeb目录结构
    • HTTP
      • HTTP
        • 概述
        • 请求消息
        • 请求行
        • 请求头
        • 请求空行
        • 请求体
        • 响应消息
        • 响应行
        • 响应头
    • JSP
    • JavaScript
    • Ajax
    • JSON
    • Cookie
    • Session
    • Request
    • Response
    • Servlet
    • Tomcat
    • EL表达式
  • Vue

  • Git

  • 开发规范

  • SpringCloud微服务权限系统

  • bug

  • Software

  • ProgramNotes
  • JavaWeb
Geeks_Z
2022-10-24
目录

HTTP

HTTP

概述

  • 概念:Hyper Text Transfer Protocol 超文本传输协议

    • 传输协议:定义了,客户端和服务器端通信时,发送数据的格式

    • 特点:

      1. 基于 TCP/IP 的高级协议
      2. 默认端口号:80
      3. 基于请求/响应模型的:一次请求对应一次响应
      4. 无状态的:每次请求之间相互独立,不能交互数据
    • 历史版本:

      • 1.0:每一次请求响应都会建立新的连接
      • 1.1:复用连接

请求消息

客户端发送给服务器端的数据

请求行

请求方式 请求 url 请求协议/版本 GET /login.html HTTP/1.1

请求方式:

  • HTTP 协议有 7 种请求方式,常用的有 2 种

    • GET:

      1. 请求参数在请求行中,在 url 后。
      2. 请求的 url 长度有限制的
      3. 不太安全
      4. GET 请求:
        • form 标签 method=get
        • a 标签
        • link 标签引入 css
        • Script 标签引入 js 文件
        • img 标签引入图片
        • iframe 引入 html 页面
        • 在浏览器地址栏中输入地址后敲回车

      image-20220316211521905

    • POST:

      1. 请求参数在请求体中
      2. 请求的 url 长度没有限制的
      3. 相对安全
      4. POST 请求:
        • form 标签 method=post

请求头

客户端浏览器告诉服务器一些信息 请求头名称: 请求头值

  • 常见的请求头:

    1. User-Agent:浏览器告诉服务器,我访问你使用的浏览器版本信息

      • 可以在服务器端获取该头的信息,解决浏览器的兼容性问题
    2. Referer:http://localhost/login.html

      • 告诉服务器,我(当前请求)从哪里来?
        • 作用:
          1. 防盗链:防止盗链接
          2. 统计工作:

请求空行

空行,就是用于分割 POST 请求的请求头,和请求体的。

请求体

  • 封装 POST 请求消息的请求参数

  • 字符串格式: POST /login.html HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Referer: http://localhost/login.html Connection: keep-alive Upgrade-Insecure-Requests: 1

    username=zhangsan

  • 响应消息数据格式

响应消息

服务器端发送给客户端的数据

响应行

  1. 组成:协议/版本 响应状态码 状态码描述
  2. 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。
    1. 状态码都是 3 位数字
    2. 分类:
      1. 1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送 1xx 多状态码
      2. 2xx:成功。代表:200
      3. 3xx:重定向。代表:302(重定向),304(访问缓存)
      4. 4xx:客户端错误。
        • 代表:
          • 404(请求路径没有对应的资源)
          • 405:请求方式没有对应的 doXxx 方法
      5. 5xx:服务器端错误。代表:500(服务器内部出现异常)

响应头

	1. 格式:头名称: 值
	2. 常见的响应头:
		1. Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式
		2. Content-disposition:服务器告诉客户端以什么格式打开响应体数据
			* 值:
				* in-line:默认值,在当前页面内打开
				* attachment;filename=xxx:以附件形式打开响应体。文件下载

image-20220316211858196

​

​

​

#JavaWeb
上次更新: 2025/02/26, 08:57:57
JavaWeb目录结构
JSP

← JavaWeb目录结构 JSP→

最近更新
01
RAIL
02-26
02
IOCTF
02-25
03
DGM
02-25
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Geeks_Z | MIT License
京公网安备 11010802040735号 | 京ICP备2022029989号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式