HTTP概述

HTTP是一种用于分布式、协作式和超媒体信息系统的应用层协议,基于TCP协议,采用请求-响应模式。它无状态,但可以通过Cookie和Session技术实现会话跟踪。GET请求将参数放在URL中,而POST请求将参数放在请求体。HTTP响应包括状态码,如200表示成功,404表示资源未找到,500表示服务器内部错误。
摘要由CSDN通过智能技术生成

HyperText Transfer Protocol 超文本传输协议,规定了浏览器和服务器之间数据传输的规则。

客户端(即浏览器)向服务端发出请求数据 ,服务器解析请求的数据并给出响应的响应。

客户端再解析 响应。

HTTP协议特点:

  1. 基于TCP协议:面向连接、安全

  1. 基于请求-响应模式,一次请求对应一次响应

  1. Http是无状态协议,对于事务处理没有记忆能力,每次请求-响应都是独立的

缺点:多次请求之间不能共享数据。java使用会话技术(cookie、session)来解决

有点:速度快

HTTP请求的数据格式:

  1. 请求行:http中请求数据的第一行 。格式 请求方式 / HTTP/1.1 请求格式,请求资源路径,协议及版本

  1. 请求头:第二行开始,格式为 KEY:VALUE

  1. 请求体:POST请求的最后一部分,存放请求参数

常见HTTP请求头

  • Host:表示请求主机的名词

  • User-Agent:浏览器版本

  • Accept:浏览器能接受的资源类型 如 text/*

  • Accept-Language:浏览器偏好的语言,服务器可以根据此返回不同语言的网页

  • Accept-Eencoding:浏览器支持的压缩类型,例如 gzip

Get请求和Post请求的区别:

  1. Get请求的参数是存在请求行中,没有请求体。而Post请求参数在请求体中

  1. Get请求参数大小有限制,而Post没有

Http响应数据格式:

  1. 响应行:响应数据的第一行 HTTP/1.1 200 OK 其中HTTP/1.1表示协议版本,200表示响应状态码,OK表示状态码描述

  1. 响应头:第二行开始,格式为 KEY:VALUE

  1. 响应体:最后一部分,存放响应数据

响应状态码分类

状态码分类

说明

1xx

响应中--临时状态码,表示请求已经接受,告诉客户端应该继续请求或者如果已经完成则忽略

2xx

成功--表示请求已经成功接受,处理已完成

3xx

重定向--重定向到其他地方,需要客户端再发起一个请求以完成整个处理

4xx

客户端错误--处理发生错误,责任在客户端。如客户端请求一个不存在的资源,客户端未被授权,禁止访问等

5xx

服务器端错误--处理发生错误,责任在服务器。如服务器抛出异常,路由出错,Http版本不支持等

常见的响应状态码

状态码

英文描述

解释

200

OK

处理成功

302

Found

请求的资源已经移到由Location响应头给定的URL,浏览器会自动重新访问到这个页面

304

Not Modified

告诉客户端,你请求的资源上次请求后,服务器并未更改,直接使用本地缓存。隐式重定向

400

Bad Request

客户端请求有语法错误,不能被服务器端所理解

403

Forbidden

服务端收到请求但拒绝提供服务。如没有权限访问相关资源

404

Not Found

请求资源不存在。URL输入有误或网站资源被删除

428

Precondition Required

服务端要求有条件的请求,告诉客户端想要访问改资源必须携带特定的请求头

429

Too Many Requests

太多请求,可以限制客户端请求某个资源的数量,配合Retry-Key(多长时间后可以请求)请求头一起使用

431

Request Header Fields Too Large

请求头太大。服务器不愿意处理请求,因为该请求的头部字段太大,请求可以在减少请求头大小后重新提交

405

Method Not Allowed

请求方式有误。比如应该使用Get但使用了Post

500

Internal Server Error

服务器发生了不可预测的错误

503

Service Unavailable

服务器尚未准备好处理请求,服务器刚启动还未初始化好

511

Network Authentication Required

客户端需要进行身份验证后才能获得网路的访问权限

更多响应状态码可参见:https://cloud.tencent.com/developer/chapter/13553

常见响应头

  • Content-Type:响应内容的类型,例如 text/html,image/jpeg;

  • Content-Length:该响应内容的长度(字节数)

  • Content-Encoding:该响应的压缩算法,如gzip

  • Cache-Control:指示客户端如何缓存,例如 max-age=300 最多可以缓存300s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值