HTTP协议 快速入门

http概述

  1. 无状态性:HTTP是一个无状态协议,这意味着服务器不会在请求之间保存任何会话信息。每个请求都是独立的,服务器不会记住之前的请求。

  2. 请求-响应模型:HTTP通信是基于客户端发送请求和服务器返回响应的模型。客户端(如Web浏览器)发送一个HTTP请求到服务器,服务器处理请求并返回一个HTTP响应。

  3. 方法:HTTP定义了一系列请求方法,最常见的包括GET(请求数据)、POST(提交数据)、PUT(更新资源)、DELETE(删除资源)等。

  4. 状态码:HTTP使用状态码来表示请求的结果。例如,200表示成功,404表示未找到,500表示服务器错误等。

  5. 头部信息:HTTP请求和响应都包含头部信息,这些信息提供了关于请求或响应的元数据,如内容类型、内容长度、缓存指令等。

  6. 安全性:HTTP本身不提供加密,数据以明文形式传输,可能被截获。为了安全通信,通常使用HTTPS,即在HTTP上添加了SSL/TLS协议来加密数据。

  7. 基于TCP连接:HTTP/1.1支持持久连接,允许多个请求和响应在同一个TCP连接上复用,减少了连接建立和关闭的开销。

  8. 内容类型:HTTP能够传输多种类型的数据,如HTML、CSS、JavaScript、图片、视频等,每种数据类型通过MIME类型来标识。

  9. 扩展性:HTTP协议允许通过自定义头部字段来扩展协议的功能。

http-请求协议

请求行

  • 请求方式 + 资源路径 + 协议

  • GET /target_url/findAll?name=user&status=1 HTTP/1.1
    # 请求方式(get) 资源路径(/target_url/findAll?name=user&status=1) 协议( HTTP/1.1)

请求头

字段描述
Host请求的主机名
User-Agent浏览器版本,例如 Chrome 浏览器的标识类似 Mozilla/5.0 ... Chrome/79,IE 浏览器的标识类似 Mozilla/5.0 (Windows NT ...) like Gecko
Accept表示浏览器能接受的资源类型,如 text/、image/ 或者 / 表示所有类型
Cookie存储在客户端的 cookie 数据
Accept-Language表示浏览器偏好的语言,服务器可以根据此返回不同语言的网页
Accept-Encoding表示浏览器可以支持的压缩类型,例如 gzip、deflate 等
Content-Type请求主体的数据类型
Content-Length请求主体的大小(单位:字节)

请全体

  • 跟随请求带过去的数据

http-响应协议

状态码

状态描述
1xx响应中临时状态码,表示请求已经接收,告诉客户端应该继续请求或者如果它已完成则忽略它。
2xx成功 - 表示请求已经被成功接收,处理已完成。
3xx重定向 - 重定向到其他地方;让客户端再发起一次请求以完成整个处理。
4xx客户端错误 - 处理发生错误,责任在客户端。如:请求了不存在的资源、客户端未被授权、禁止访问等。
5xx服务器错误 - 处理发生错误,责任在服务端。如:程序抛出异常等。

响应头

字段描述
Content-Type表示响应内容的类型,例如 text/html、application/json。
Content-Length表示响应内容的长度(字节数)。
Content-Encoding表示响应压缩算法,例如 gzip。
Cache-Control指示客户端如何缓存,例如 max-age=300 表示可以最多缓存 300 秒。
Set-Cookie告诉浏览器为当前页面所在的域设置 cookie。

http-解析协议

  • 浏览器一般,自带解析

  • 服务器一般要自己编写,或者使用第三方api

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值