HTTP简介

目录

  • 1. 什么是Web?
  • 2. JavaWeb技术栈
    • 2.1 B/S架构
    • 2.2 服务器端配置
      • 2.2.1 静态资源
      • 2.2.2 动态资源
      • 2.2.3 请求、响应
  • 3. HTTP协议分类
    • 3.1 基于TCP协议:
    • 3.2 基于请求-响应模型的:
    • 3.3 HTTP协议是无状态协议:
  • 4. HTTP定义的请求格式
    • 4.1 请求方式
    • 4.2 请求组成
      • 4.2.1 请求行(第一行)
      • 4.2.2 请求头(第二行开始)
      • 4.2.3 请求体(请求头空一行写)
  • 5. HTTP定义的响应格式
    • 5.1 响应组成
    • 5.2 请求行(第一行)
      • 响应状态码
    • 5.3 请求头(第二行开始)
    • 5.4 请求体(请求头空一行写)

1. 什么是Web?

Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。
JavaWeb就是用Java技术来操作web领域的技术栈

2. JavaWeb技术栈

2.1 B/S架构

Browser/Server,浏览器/服务器 架构模式
客户端 只需要浏览器,应用程序的逻辑和数据都存储在 服务器端

2.2 服务器端配置

HTTP简介_第1张图片

2.2.1 静态资源

常用技术:HTML、CSS、JavaScript(vue框架是对JavaScript dom操作的简化)、图片

2.2.2 动态资源

常用技术:Servlet、JSP
动态资源处理完逻辑后会把得到的结果交给静态资源来进行展示。动态资源对每个用户会显示不一样的东西,比如登录账户之后会显示头像和名字,而静态资源是对每个人显示的一样的。

会话技术 是用来存储客户端和服务端交互所产生的数据,HTTP协议是无状态协议时,对于事物处理没有记忆能力,就需要会话技术。

2.2.3 请求、响应

Request:是从客户端向服务端发出的请求对象,
Response:是从服务端响应给客户端的结果对象,
HTTP协议:是写请求和响应需要遵循的一种规则

3. HTTP协议分类

3.1 基于TCP协议:

面向连接,安全
TCP是一种面向连接的(建立连接之前是需要经过三次握手)、可靠的、基于字节流的传输层通信协议,在数据传输方面更安全。

3.2 基于请求-响应模型的:

一次请求对应一次响应

3.3 HTTP协议是无状态协议:

对于事物处理没有记忆能力,每次请求-响应都是独立的。

  • 缺点:多次请求间不能共享数据
  • 优点:速度快

一个例子理解这个缺点:发起去购物车结算的请求后,因为无法获取哪些商品加入了购物车
解决方法:引入会话技术(Cookie、Session)

4. HTTP定义的请求格式

4.1 请求方式

请求方式有七种,最常用的是 GETPOST
区别:

  • GET请求 的请求参数在请求行中,没有请求体POST 请求的 请求参数在请求体
  • GET请求的请求参数大小有限制,POST没有

4.2 请求组成

三部分:请求行请求头请求体

4.2.1 请求行(第一行)

请求方式/请求URL路径/HTTP协议及版本

GET/HTTP/1.1

4.2.2 请求头(第二行开始)

格式为key: value形式(类似于Python中的字典,java中的hashmap),其中包含若干属性

Host: 表示请求的主机名
User-Agent: 浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0 ...Chrome/79IE浏览器的标识类似Mozilla/5.0 (Windows NT ...)like Gecko;
Accept:表示浏览器能接收的资源类型,如text/*,image/*或者*/*表示所有;
Accept-Language:表示浏览器偏好的语言,服务器可以据此返回不同语言的网页;
Accept-Encoding:表示浏览器可以支持的压缩类型,例如gzip, deflate等。

4.2.3 请求体(请求头空一行写)

POST请求的最后一部分,存储请求参数。GET请求没有。
HTTP简介_第2张图片

5. HTTP定义的响应格式

5.1 响应组成

三部分:请求行请求头请求体

5.2 请求行(第一行)

HTTP协议/版本 响应状态码 状态码的描述

HTTP/1.1 200 ok

响应状态码

最常用的三个

  • 200 ok 客户端请求成功
  • 404 Not Found 请求资源不存在
  • 500 Internal Server Error 服务端发生不可预期的错误

5.3 请求头(第二行开始)

Content-Type:表示该响应内容的类型,例如text/html,image/jpeg;
Content-Length:表示该响应内容的长度(字节数);
Content-Encoding:表示该响应压缩算法,例如gzip;
Cache-Control:指示客户端应如何缓存,例如max-age=300表示可以最多缓存300

5.4 请求体(请求头空一行写)

写的html代码,可以在前端运行产生想要的效果

你可能感兴趣的:(后端,java,http)