学习HTTP | 青训笔记

52 阅读1分钟

这是我参与 ⌈ 第五届青训营 ⌋ 伴学笔记创作活动的第四天

什么是HTTP

  • Hyper Transfer Protocol超文本传输协议
  • 应用层协议,基于TCP协议
  • 请求响应
  • 简单扩展
  • 无状态

TCP协议的特点:
  • 面向连接
  • 点对点(一对一)
  • 可靠交付
  • 面向字节流,也就是说仅仅把上层协议传递过来的数据当成字节传输。为了实现TCP上述的特性点,TCP协议需要解决的是面向连接(建立连接和关闭连接的方式)、可靠传输(错误确认和重传)、流量控制(发送方)

协议分析

微信图片_20230120231825.png

报文

微信图片_20230120231854.png

Method

Safe(安全的):不会修改服务器的数据的方法 GET HEAD OPTIONS
Idempotent(幂等):同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的,所有safe的方法都是Idempotent的GET HEAD OPTIONS PUT DELETE

微信图片_20230120232408.png

RESTful API

RESTful API: 一种API设计风格; REST-Representational State Transfer
  • 每一个URI代表一种资源
  • 客户端和服务器之间,传递这种资源的某种表现层
  • 客户端通过HTTP methed,对服务器端资源进行操作,实现“表现层状态转化”

微信图片_20230120233122.png

常用请求头

微信图片_20230120233214.png

常用响应头

微信图片_20230120233256.png 缓存

微信图片_20230120233410.png

cookie

Set-Cookie-response

微信图片_20230120233534.png

HTTP概述

  • HTTPS: Hypertext Transfer
    Protocol Secure
  • 经过TSL/SSL加密
  • 对称加密: 加密和解密都是使用同一个密钥
  • 非对称加密,加密和解密需要使用两个不同的密钥:公钥(public key)和私钥(private key)