深入理解HTTP协议

HyperText Transfer Protocol

客户端与服务器直接通信的一个协议

1. 什么是协议(Protocol)

协议这个词主要应用在计算机领域,就是连入网络的计算机都有遵循一定的技术规范,关于硬件、软件和端口等的技术规范。计算机通信网是由许多具有信息交换和处理能力的节点互连而成。要使整个网络有条不紊地工作,就要求每个节点必须遵守一些事先约定好的有关数据格式及时序等的规则。这些为实现网络数据交换而建立的规则、约定或标准就称为网络协议。

通信双方预先定义好的一个通信规范或是通信规则。

比如说:红外遥控协议(照相机)

遥控器上的灯按照32768Hz闪烁16次,停止7.33ms,再闪烁16次,这样就是立即拍照

遥控器上的灯按照32768Hz闪烁16次,停止5.36ms,再闪烁16次,就是延时5s拍照

当照相机读取,收到遥控器上发射的这种规律、闪烁的红外的规则后,照相机就能知道是什么意思。因为它们之前已经约定好了,按照这种规则来闪烁,所以它们就可以通信了。而且可以实现相应的功能。

再比如说:飞鸽传书协议

飞鸽传书类似QQ,不过它是在局域网使用的一个即时通讯的工具。飞鸽传书协议是一个相对简单的局域网内信息传输协议。

发送消息也是需要协议的,要发一条消息,不仅要发出这条消息内容本身,还有一些附加的其它内容比如 消息来自哪里,发送消息者姓名,etc.

版本号:包编号:发送者姓名:发送者主机名:命令字:附加信息(消息内容)

1:23149:riverlet:127.0.0.1:\x20:balabalala

接收者收到这条消息后就可以解析消息内容,拿到相关信息。

HTTP协议(超文本传输协议)

历史版本

1. 最早是HTTP/0.9版本,这个协议比飞鸽传书协议还要简单。

GET /index.html

Telnet工具演示,(用来在服务器和客户端直接建立通信(TCP连接),建立连接后客户端输入的信息会被即时发送到服务器端)

>telnet example.com 80

告诉telnet连接到example.com这台服务器上80端口。

输入:GET /

HTTP/1.0 505 HTTP Version Not Supported

Content-Type: text/html

Content-Length: 379

Connection: close

Date: 

Server: 

<?xml version="1.0" encoding="iso-8859-1"?>

......

</html>

遗失对主机连接。

因为刚输入的是HTTP/0.9的协议,所以不支持

2. HTTP/1.0 (1996年诞生)

POST /index.html HTTP/1.0

在HTTP/0.9的基础上加了POST支持,提供了对CGI的支持,可以看到动态生成的内容,并且html也添加了图像支持

添加了缓存相关header

If-Modified-Since: Wed, 18 Mar 2020 09:21:55 GMT

添加了身份认证

Authorization: Basic QWxhZGRpbjpvcGVuIHN1c2FtZQ==

默认值: close

Connection: close

>telnet example.com 80

GET   HTTP/1.0 

HTTP/1.0 404 Not Found

Content-Type: text/html

Date: 

Server:

Content-Length: 345

Connection: close

<?xml version="1.0"

......

</html>

遗失对主机的连接

3. HTTP/1.1 (2000年诞生)

GET /index.html HTTP/1.1

 

2. HTTP通信交互流程

 

3. 常见HTTP header的含义及作用

 

4. 常见HTTP响应状态码的含义

 

5. Cookie、Session的原理

 

6. HTTP缓冲策略

 

7. HTTP安全、常见攻击方式及防范策略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的数字调制就是把数字基带信号的频谱搬移到高频处,形成适合在信道中传输的带通信号基本的数字调制方式有振幅键控(ASK)、频移键控(FSK)、绝对相移键控(PSK)、相对(差分)相移键控(DPSK)在接收端可以基于想干解调或非相干解调还原数字基带信号+使用说明文档 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值