【JavaWeb学习记录11】HTTP协议

五、HTTP&Tomcat&Servlet

5.1 HTTP

5.1.1 简介
1. HTTP 概念

HTTP : HyperText Transfer Protocol,超文本传输协议

规定浏览器和服务器之间数据传输的规则

  • 数据传输规则指的是请求数据和响应数据需要按照指定的格式进行传输
2. HTTP 协议特点
  • 基于 TCP 协议:面向连接,安全

  • 基于请求-响应模型:一次请求对应一次响应

  • HTTP 协议是无状态协议,对于响应后,不会记录任何信息

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

    会话技术(Cookie 、 Session)可以解决问题

5.1.2 请求数据格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mYvHoLJV-1663941696077)(C:\Users\18517\AppData\Roaming\Typora\typora-user-images\image-20220830184922766.png)]

请求数据分为三部分:请求行、请求头、请求体

  • 请求行:HTTP请求中的第一行数据,请求行包含三块内容,分别是 GET[请求方式]/[请求URL路径]HTTP/1.1[HTTP协议及版本]

    请求方式有七种,最常用的是 GET 和 POST

  • 请求头: 第二行开始,格式为 key:value 形式

    请求头中会包含若干个属性,常见的HTTP请求头有:

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

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MYNonrcp-1663941696078)(C:\Users\18517\AppData\Roaming\Typora\typora-user-images\image-20220830185450277.png)]

    请求体和请求头之间是有一个空行隔开。

GET 和 POST 的区别:

  • GET 请求的请求参数在请求行中,没有请求体,POST请求 请求参数在请求体中
  • GET请求参数大小有限制,POST没有限制
5.1.3 响应数据格式

响应数据分为三部分:响应行、响应头、响应体

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KQ6rUROV-1663941696079)(C:\Users\18517\AppData\Roaming\Typora\typora-user-images\image-20220830190158430.png)]

  • 响应行:响应数据的第一行,响应行包含三块内容,分别是:HTTP/1.1[HTTP协议及版本] 200[响应状态码] ok[状态码描述]

  • 响应头:从第二行开始,格式为 key:value 形式

    常见的HTTP响应头有:

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

响应状态码
  • 200 ok 客户端请求成功
  • 404 Not Found 请求资源不存在
  • 500 Internal Server Error 服务端发生不可预期错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mathison晨默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值