初识HTTP协议 | 青训营笔记

65 阅读4分钟

一、什么是HTTP/其基本特点

用户在地址栏输入一些字符串 传入到浏览器专门处理输入信息的部分之后会得到完整的请求地址之后会传给浏览器专门处理请求的内核然后发起一个真实请求经过网络到达我们部署的服务器,服务器响应之后经由互联网把结果交给浏览器,浏览器读取经过渲染过程呈现出我们所看到的界面。

网络协议

TCP/IP模型分为四个层次,分别是网络接口层、网际互联层、传输层、应用层

OSI模型则是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

http是应用层协议基于TCP协议,是超文本传输协议Hyper Text Transfer Protocol 是无状态协议 简单可扩展

HTTP/1.1 标准化协议分析Requests 和Responses header不同的地方

Requests 声明出请求所使用的一个方法Method 要访问的目标地址
Responses要返回请求处理的结果用StatusCode状态码表示

GET 表示读的请求获取资源的请求

POST 表示提交的请求创建

PUT 已有载体的替换更新

DELETE 删除资源

HEAD 跟GET请求基本一致但没有响应体

CONNECT 建联的过程

OPTIONS 在通信选项的前置的一个请求

TRACE 测试

PATCH 修改 1.Safe不会修改服务器的数据的方法有GET、HEAD、OPTIONS 2.Idempotent请求连续执行多次与被执行一次的效果是一样的 服务器状态也一样,所有safe方法都是Idempotent GET、HEAD、OPTIONS、PUT、DELETE

状态码

三位来表示 1xx 接受请求继续处理

2xx请求陈工接收,理解,接受

3xx重定向,要完成请求必须进行进一步操作301永久重定向302临时跳转

4xx客户端错误 401请求未授权404错误的目标地址,请求不存在

5xx 服务器端错误 500服务器有一些不明确错误504网关、服务器超时

RESTful API 表现层状态转化

1.URI 代表一种资源

2.客户端与服务器之间,传递了资源的表现层

3.借助 HTTP Method的取值和语言对服务器资源的操作

请求头

accept 接收什么类型的资源 对标服务器端返回的Content-Type

Content-Type客户端发送出去的实体内容的类型 跟缓存相关的协议头Cache-Comtrol 、if-Modified-Since、Expires、Max-age、if-None-Match

Cookie 用户是否登录,在访问控制下浏览器在有权限的情况下在发起请求里会自动带上

Referer、Origin与请求来源相关的字段,做一些接口访问权限的控制

User-Agent存储了一些客户端的信息如从哪发送的

响应头

Content-Type服务端返回的实体内容的类型如html、css

Set-Cookie 设置和页面关联的cookie信息,以及有哪些权限控制

server服务器相关信息

Access-Control-Allow-Origin都是用做访问控制server容许哪些Origin的去请求接口

缓存

强缓存:资源本地有了可以直接用

EXpires,到期时间时间戳

Cache-Control (no-cache :协商缓存验证 no-store:不使用任何缓存

max-age:单位是秒的相对时间从开始到结束的最大生存周期

must-revalidate:重新验证和重新加载一旦资源过期必须要与服务器验证一下,看看缓存是不是可用的)

协商缓存 :本地缓存是不是最新的与server端通信协商

Etag/if-None-Match:资源的特定版本的标识符类似指纹的东西

Last -Modified:最后的修改时间

Cookie

set-cookie-response浏览器返回给我们设置的cookie信息

name=value:名称和值

Expires=Date:Cookie的有效期

path=path Domain=domain: cookie是在哪些域名和路径下才会生效

secure:仅在HTTPS安全连接时,才可以发送Cookie

HttpOnly:javaSript的脚本无法获得Cookie

SameSite=[None][Strict][Lax]于同站、跨站请求相关

HTTP2概述:

帧是http/2通信的最小单位,每个帧都包含帧头,才用二进制编码的形式,消息:能与逻辑请求和响应消息对应的一系列帧

数据流:已建立的连接内的双向字节流,可有承载一条或多条消息 在一个连接里面可以有多条双向的字节流,可以交错发送

  • 复用性:每一个来源和地址在建立连接之后,这个连接是可以被永久利用的
  • 流控制:有了一些主动性,可以拒绝server发的大量的请求,比如视频暂停
  • 服务器也可以主动推送

HTTPS概述:

http经过TSL/SSL加密

对称加密:两边用的相同的密钥

非对称加密:加密和解密需要使用两个不同的密钥:公钥和私钥

总结

协议很重要,没有协议就没有互联网的天下,更是在有了加密算法之后,网络得到了保护

标题:初识 HTTP 协议 - 掘金

网址:juejin.cn/course/byte…