HTTP协议分析

http协议介绍

HTTP:Hyper Text Transfer Protocol 超文本传输协议,是互联网应用最为广泛的一种网络协议,主要用于web服务。通过格式为HTML(Hyper Text Mark Language)的超文本标记语言来处理文本信息

http协议的版本

http 0.9:
仅用于传输html文档

http 1.0:
1)引入了MIME(Multipurpose Internet Mail Extesions)机制:多用途互联网邮件扩展,引入这个技术之后http可以发送多媒体(视频,音频等)信息。此机制让http不单单只支持html格式,还可以以其他格式来发送了。
2)引入了Keep-alive机制,支持持久连接功能(但此功能是通过在首部添加了某个字段而形成的,并非原生自带的功能)
3)引入支持缓存功能

http1.1:
支持更多的请求方法,更加精细的缓存控制,原生直接支持持久连接(presistent)

http2.0:
提供了http语义优化传输,spdy:google引入了的一个技术,能够加速http数据交互,尤其是使用ssl加速机制


html文本架构

在这里插入图片描述


html文档的生成方式

静态:事先就编辑完成的
动态:通过编译语言写的程序后输出html格式的结果
动态语言有php,jsp,asp,.net
PS:这些脚本都必须有相应的解释器,比如php需要有php解释器等

静态
在这里插入图片描述
1)web服务器向内核注册socket
2)客户通过浏览器向web服务器发起request请求
3)web服务器收到客户端的request信息
4)如果客户请求的资源在本地服务器的话,http服务会像系统内核申请调用
5)内核调用本地磁盘里的数据,并将数据发给http服务
6)http将用户请求的资源通过response报文,最终响应给客户端

动态
在这里插入图片描述
与静态不同的是,如果用户请求的是动态内容,那么此时服务器会调用后端的解析器
由动态语言去处理用户的请求。需要请求数据的时候,会向内核申请调用,从而向磁盘中获取用户指定的数据,通过解释器运行,运行结果通常会生成html格式的文件。然后构建成响应报文,最终发回给客户端。


http协议的报文

http报文中存在着很多行的内容,一般是由ASCII码串组成,各字段长度是不确定的。http的报文可以分为两种:请求报文与相应报文
1)request Message(请求报文)
客户端 》服务端
由客户端向服务端发出请求,不同的网站用于请求不同的资源(html文档)
2)response Message(响应报文)
服务端 》客户端
是服务器予以响应客户端的请求

请求报文格式如下
请求行 + 请求首部 + 空白行 + 请求实体
在这里插入图片描述

响应报文格式如下
起始行 + 响应首部 + 空白行 + 响应实体
在这里插入图片描述


http请求方法

在http通信过程中,每个http请求报文都会包含一个http请求方法,用于告知客户端向服务器端请求执行某些具体的操作,下面是几种常用的http请求方法
在这里插入图片描述
在这里插入图片描述


http状态码

在这里插入图片描述
常见状态码说明
在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

3369_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值