HTTP相关

1.HTTP简介
应用层协议,基于请求与响应模式的无状态的应用层的协议。常基于tcp的连接方式。
绝大部分的web开发都是构建在HTTP协议上的web应用。
2.HTTP协议的主要特点概括如下:
(1).支持,客户-服务器模式:HTTP协议工作于服务端和客户端架构之上。浏览器作为HTTP客户端通过url向HTTP服务端即web服务器发送所有请求。Web服务端根据接收到的请求向客户端发送响应信息
(2).简单快速:客户端向服务端请求服务时,只需传送请求方法跟路径。请求方法常用的有get,post,post.每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP协议的程序规模小,因而通信速度很快。
(3).灵活:允许传输任意类型的数据对象
(4).无连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并受到客户的应答之后就断开连接。可以节省传输时间
从HTTP1.1起,默认使用了常连接,即服务器需要等待一定时间后才断开连接,以保证连接特性。虽然目前的一些技术使用了常连接优化效率,但这些都是属于http请求之外的。也就是说在每个独立的http请求中,你是无法知道当前的http是否处于常连接的状态。你始终都要认为http请求在结束后就会关闭。常连接可以理解为:下层实现对上层透明。
(5).无状态:指协议对事物处理没有记忆能力。缺少状态意味着:若果后续处理需要前面的信息,则必须被重传,这样可能导致每次传送的数据量增大。主流:HTTP1.1(keepalive)

3.HTTP响应结构
在这里插入图片描述
抓包图:
在这里插入图片描述
4.请求/响应步骤
在这里插入图片描述
客户端连接到Web服务器。 一个http客户端通常是浏览器与web服务器的http端口,默认端口号是80.建立一个tcp套接字连接。其次就会发送http请求。即通过tcp套接字客户端向web服务器发送一个文本的请求报文。最后,服务端接受到客户端的请求报文,并返回http响应。web服务器解析该请求,定位请求资源,服务器将资源写到tcp套接字。由客户端读取。释放TCP连接。(区分连接模式是keep-alive和主被动关闭)。
客户端浏览器解析HTML内容。(响应头,状态吗)

5.在浏览器器地址栏键入URL,按下回车之后经历的流程
在这里插入图片描述
(1).解析url-浏览器通过地址栏捕获到url地址后,首先对url地址进行解析。解析图如下:
在这里插入图片描述
(2).完成后进行DNS解析(就是根据域名找到其绑定的ip地址)。顺序如下:
在这里插入图片描述
DNS查找过程解析:浏览器先检查是否缓存(会把访问过的域名缓存在浏览器中),操作系统也会有自己的DNS缓存(会查域名是否存在于本地的Hosts文件中)。路由器缓存,IPS,DNS缓存(就是客户端电脑上设置的首选DNS服务器)。在前面所有情况下没有找到缓存时,会连接互联网,把请求转发到互联网的根域。
(3).TCP连接
(4).发送http请求。只能由浏览器主动发起,服务器进行响应。浏览器请求报文会携带一下信息:
请求路径,查询参数,请求方法,请求头,请求体。
(5).服务器接受请求,服务器响应,TCP断开连接。响应一般包含一下内容:状态码,状态文本,响应头,响应体。
(6).浏览器解析资源,渲染页面。解析资源–先查看ResponseHeader,根据响应头的指示做不同的事情,比如重定向,存储cookie,解析gzip,缓存资源等等。 接下来要获取MIME类型(查看响应头的Content-Type的值),根据不同的资源类型采取不同的解析方式。

6.HTTP状态码
在这里插入图片描述
常见状态码:
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值