JavaWeb基础学习——HTTP

1. 简介

  • 概念:HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则
  • 学习HTTP主要就是学习请求和响应数据的具体格式内容。

HTTP协议特点

  • 基于TCP协议: 面向连接,安全
    TCP是一种面向连接的(建立连接之前是需要经过三次握手)、可靠的、基于字节流的传输层通信协议,在数据传输方面更安全。
  • 基于请求-响应模型的:一次请求对应一次响应
    请求和响应是一一对应关系
  • HTTP协议是无状态协议:对于事物处理没有记忆能力。每次请求-响应都是独立的
    无状态指的是客户端发送HTTP请求给服务端之后,服务端根据请求响应数据,响应完后,不会记录任何信息。这种特性有优点也有缺点,
    • 缺点:多次请求间不能共享数据(Java提出了使用会话技术(Cookie、Session)来解决这个问题)
    • 优点:速度快

2. 请求数据格式

请求数据总共分为三部分内容,分别是请求行请求头请求体
在这里插入图片描述

  • 请求行: HTTP请求中的第一行数据,请求行包含三块内容,分别是 GET表示请求方式,/表示请求URL路径,HTTP/1.1表示HTTP协议及版本
    请求方式有七种,最常用的是GET和POST

  • 请求头: 第二行开始,格式为key: value形式
    请求头中会包含若干个属性,常见的HTTP请求头有:
    在这里插入图片描述

  • 请求体: POST请求的最后一部分,存储请求参数
    在这里插入图片描述
    如上图红线框的内容就是请求体的内容,请求体和请求头之间是有一个空行隔开。此时浏览器发送的是POST请求,为什么不能使用GET呢?这时就需要回顾GET和POST两个请求之间的区别了:
    GET请求请求参数在请求行中,没有请求体,POST请求请求参数在请求体中
    GET请求请求参数大小有限制,POST没有

3. 响应数据格式

3.1 格式

响应数据总共分为三部分内容,分别是响应行响应头响应体
在这里插入图片描述

  • 响应行:响应数据的第一行,响应行包含三块内容,分别是 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秒
    
  • 响应体: 最后一部分。存放响应数据
    上图中<html>…</html>这部分内容就是响应体,它和响应头之间有一个空行隔开。

3.2 响应状态码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值