IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> http协议 -> 正文阅读

[网络协议]http协议

一、http协议基础+发展历史

HTTP协议(HyperText Transfer Protocol)全称超文本传输协议,是因特网上最广泛的一种网络传输协议,基于TCP/IP协议传输数据。

1.网络模型介绍

网络协议分层(五层模型)
在这里插入图片描述

物理层:定义物理设备如何传输数据
数据链路层:通信实体间建立数据链路联系
网络层:为数据在结点之间的传输创建逻辑链路
传输层:可靠的端对端(end-to-end)的服务,传输层向高层屏蔽了下层的数据通信细节
应用层:为软件提供很多服务,构建于tcp之上,屏蔽了网络传输的相关细节

2.http协议的发展历史

http/0.9 只有get 没有header等信息,服务器发送完毕,就关闭tcp连接
http/1.0 增加命令,增加status code、header,多字符集支持等
http/1.1 持久连接,pipeline,host和其他一些命令
http2 所有数据以二进制传输、同一个连接里面发送多个请求不在需要按照顺序来、头信息压缩以及推送等提高效率的功能

3.http三次握手

user和服务器之间建立tcp connection,http request在tcp connection中传输
建立连接
syn建立了第一个标志位
在这里插入图片描述

3.URI、URL、URN

URI统一资源标志符,用来标识互联性网上的信息资源,包含URL和urn
URL统一资源定位器,路由定位
urn永久统一资源定位符,资源移动后还能访问

4.http报文

在这里插入图片描述
http方法:
用来定义对于资源的操作,常用的get、post,
http code:
定义服务器处理结果,各个区间的code有各自的语义,好的http协议通过code判断结果

5.创建简单的web服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、http各种特性

1.http客户端

network请求资源 curl展示请求响应报文

2.cors跨域请求限制及其解决

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
jsonp
在这里插入图片描述

3.缓存头cache-control的含义和使用

在请求中使用
在这里插入图片描述
在响应中使用
在这里插入图片描述

4.cookie

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。
通过“set-cookie”进行设置cookie,不能跨域设置。常用cookie保存session

5.http长链接

同一个connection id 就是同一个tcp连接

"Connection"'keep-alive'

6.数据协商

分类:请求 返回
accept accept-encoding accept-language user-agent
content-type content-encoding content-language

7.redirect

HTTP重定向:服务器无法处理浏览器发送过来的请求(request),服务器告诉浏览器跳转到可以处理请求的url上。(浏览器会自动访问该URL地址,以至于用户无法分辨是否重定向了。)
重定向的返回码3XX说明。Location响应首部包含了内容的新地址或是优选地址的URL。

8.CSP内容安全策略

限制资源的获取、报告资源越权获取

"Content-Security-Policy":"default-src http: https:"

可以避免xfs等攻击

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-17 12:17:20  更:2021-07-17 12:18:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 23:22:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计