图解http协议学习笔记
一 ,基本概念
1互联网相关的各协议族为tcp/ip协议(网际协议),tcp/ip ftp,DNS(通过域名解析ip地址),http(超文本传输协议) 还有很多协议 ,只是列举比较熟悉的
2tcp/ip 分为四层 应用层(ftp dns http),传输层(TCP (transmisson control protocol 文本传输协议) ,UDP用户数据传输协议), 网络层:规划数据的传输路线 ,链路层:硬件层次,
客户端至服务端由左往右 ,服务端值客户端由右至左
二,一次完整的http协议
1客户端输入访问的域名 ,通过dns解析出ip地址并告诉客户端
2客户端对目标服务器http请求报文
3tcp协议负责将报文切割成报文段
4ip协议负责搜索对方地址并传输
5tcp重组收到的报文
6http处理请求
7服务器进行回传
三,tcp三次握手
1 客户端向服务器发送syn 请求
2 服务端收到syn,发送syn/ack 给客户端
3 客户端收到后再回传ack给客户端 代表握手结束
中间如果出错 会以相同顺序重新来过
四 ,http基本的报错分类

五,关于https
简称为超文本传输安全协议,本质上是http通过和ssl(secure socket layer 安全套接层)和tls(transport layer security 安全层传输协议)的组合使用,加密http的通信内容。
1 http本身的不足

2 https 使用共享密钥和公开密钥混合使用的加密方式
共享密钥就是一个密钥双方共同使用
公开密钥使用公钥私钥配合使用的方式,即大家各自保存自己的私钥,但是会放出公钥供对方加密使用
3 https安全通信机制过程
图示


六,关于http2.0
主要的特点

1,http存在的问题

2,spdy优化的方面
1多用复合流 即单一tcp连接可以无限制处理多个http请求
2压缩http头部
3推送功能,原来服务端需要接受客户端的请求才能推送数据,现在服务端可主动向客户端推送数据
4服务器提示功能
3,WebSocket
1,推送功能
2,减少通信量
图解http协议学习笔记的更多相关文章
- HTTP协议学习笔记(四)
HTTP协议学习笔记(四) 与 HTTP 协作的 Web 服务器 一台 Web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的中转服务器提升传输效率. 1.用单台虚拟主机实现多个域名 ...
- HTTP协议学习笔记(三)
HTTP协议学习笔记(三) 1.状态码告知从服务器端返回的请求结果 状态码的职责是当客户端向服务端向服务端发送请求时,描述返回的请求结果.借助状态码,用户可以知道服务端是正常处理了请求,还是出现了错误 ...
- HTTP协议学习笔记(二)
HTTP协议学习笔记(二) 1.HTTP报文 HTTP报文:用于HTTP协议交互的信息.请求报文:请求端(客户端)的HTTP报文叫做请求报文.响应报文:响应端(服务端)的HTTP报文叫做响应报文. H ...
- HTTP协议学习笔记(一)
HTTP协议学习笔记(一) 1.HTTP协议用于客户端和服务端之间的通信 客户端:请求访问文本或图像等资源的一端服务端:提供资源响应的一端 在两台计算机之间使用HTTP协议通信时,在一条通信线路上必定 ...
- TCP/IP协议学习笔记
计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 TCP/IP详解学习笔记(2)-- 数据链 ...
- RSA算法、SSL协议学习笔记
最近学习计算机网络,涉及到SSL协议,我想起了去年密码学课程讲过的非对称加密RSA算法,结合阮老师的博客,写写学习笔记,这里再回忆一下. RSA算法 RSA算法是一种非对称密码算法,所谓非对称,就是指 ...
- 网络协议学习笔记(二)物理层到MAC层,交换机和VLAN,ICMP与ping原理
概述 之前网络学习笔记主要讲解了IP的诞生,或者说整个操作系统的诞生,一旦有了IP,就可以在网络的环境里和其他的机器展开沟通了.现在开始给大家讲解关于网络底层的相关知识. 从物理层到MAC层:如何在宿 ...
- tcp/ip协议学习笔记一
一. 简述 以前在学校学习计算机网络的时候学习多是网络7层模型OSI,了解了一些基本的计算机网络概念和协议通信格式,但是一直没弄明白其中的原理,包括各层之间的关系,应用,还有一些常见的令牌环网到底是什 ...
- 《图解HTTP》学习笔记之入门
学习HTTP之前,很必要了解一下关于Web网络基础. TCP/IP协议族 1.应用层:应用层决定了向用户提供应用 服务时的通信活动,比如FTP(文件传输协议).DNS(域名系统).HTTP(超文本传输 ...
随机推荐
- 上载和下载CSV文件
sap中把txt .excel .文件上载到内表中,txt和csv速度最快. excel文件导出的csv是用,分隔符分隔的,如果单元格的文本中就有逗号,这样会和分隔符逗号混淆,最好abap产生csv文 ...
- mysqldump导出时 --set-gtid-purged=OFF
mysqldump导出表 [root@bj db10044]# rpm -qf `which mysqldump`Percona-Server-client-56-5.6.22-rel71.0.el6 ...
- ZROI 19.08.08模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. 首先恭喜swk今天翻车! "小心大样例演你."--天祺鸽鸽 果然swk今天被大样例演死了,天祺鸽鸽诚不欺我! A ...
- Python---项目需求分析
一.软件工程 .软件工程:工程化方法解决软件问题 操作步骤 1.需求分析 前台:给基础用户使用的页面 后台:给操作者/admin等使用的页面系统 不是服务器前后台概念 2.小米前台 商品展示 商品详情 ...
- buuctf@test_your_nc
测试你的 nc 技巧 :)
- WinServer2008R2远程桌面长时间保持连接
开始------运行------gpedit.msc 计算机配置------管理模板-----Windows组件-----远程桌面服务------远程桌面会话主机------会话时间限制 修改两项设置 ...
- asp.net mvc 异步控制器
参考:https://blog.csdn.net/niewq/article/details/20490707 https://www.cnblogs.com/visonme/p/5537190.ht ...
- 常用深度学习框架(keras,pytorch.cntk,theano)conda 安装--未整理
版本查询 cpu tensorflow conda env list source activate tensorflow python import tensorflow as tf 和 tf.__ ...
- z-tree官方提供的下拉菜单案例
1.z-tree官方提供的下拉菜单案例 <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - selec ...
- node.js入门学习(一)环境安装,REPL,fs模块,path模块,http模块
一.node.js介绍 1.1.node.js是什么 官网首页总结:Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时. 1)node.js是一个开发平台,就像j ...