您当前的位置:首页 > 电脑百科 > 网络技术 > 网络知识

http一次请求和响应的全过程

时间:2020-03-07 10:56:29  来源:  作者:

一、什么是HTTP协议

http协议是Hyper Text Transfer Protocol(超文本传输协议),是用于万维网服务器传输超文本到本地浏览器的传输协议,http协议是基于TCP/IP通信协议来传送数据。http协议工作于B/S架构的系统时,浏览器作为http的客户端通过URL向http服务端即WEB服务器发送访问请求,WEB服务器收到请求后再将相应的请求内容返回到客户端。

二、HTTP的主要特点

1.无状态性

http是没有状态的,即协议对事务处理是没有记忆的,同一个客户端第二次访问位于同一服务器上的页面时,服务器是不认识不记得这个客户端的,它并不知道这个客户端曾经访问过它。这样的好处是简化了服务端的设计,能够更加容易的支持大并发量的http请求。

2.灵活

http允许传输任意类型的数据对象

3.无连接

即限制每次连接只响应一个请求,服务端回应了客户端的请求并得到客户端的回应后,断开连接,采用这种方式可以节省传输时间。

三、请求和响应的过程

1.在浏览器中输入网址

2.浏览器根据用户输入的网址来解析出相应的IP地址(DNS查找过程)

(1)浏览器缓存

如果在一定的时间内已经访问过这个网址,那么浏览器缓存DNS记录一段时间(不同的浏览器保存缓存的时间也不一样)

(2)系统缓存

如果在浏览器缓存中没有查找到相应的域名,那么就会在操作系统的缓存中进行查找(浏览器会做一个系统调用)

(3)路由器缓存

如果在系统缓存中也没有查找到相应的域名,那么就是在路由器的缓存中来进行查找

(4)ISP DNS缓存

如果在路由器缓存中还是没有查找到相应的域名,那么就需要到ISP(Internet Service Provider即网络服务提供商)的DNS缓存中进行查找,这里一般都可以查到对应的缓存记录

3.浏览器与服务器建立一个TCP连接

4.浏览器给WEB服务器发送一个http请求

http请求的常见请求方法有GET、POST、HEAD

GET和POST的区别

http一次请求和响应的全过程

 

5.服务器永久重定向响应

服务器会给浏览器一个301永久重定向响应,这样的话样浏览器就会访问"http://www.baidu.com/" 而非"http://baidu.com/",服务端一定要重定向而不是直接把用户想看的内容直接返回客户端是为什么呢?其中一个原因是和搜索引擎的排名有关,例如"http://www.baidu.com/"和"http://baidu.com/",服务端会将它们看成是两个网页,这样的话就降低了两个域名的搜索排名,搜索引擎明白301状态码的意思是什么,就会把带有www和不带有www的两个地址归到同一个网站名下。另一个原因是会造成缓存友好性变差,如果一个页面有好几个名字的话,在缓存中会出现好几次。

6.浏览器跟踪重定向的地址,并向改地址发送http请求

7.服务器处理请求

8.服务器发回一个html响应

9.释放TCP连接

10.客户端将接到的HTML文本解析并显示出来

11.浏览器获取嵌入在HTML中的其他对象

在浏览器显示HTML时,这个HTML文本中可能会包含一些其他地址的资源,这个时候浏览器就要再向这些地址发送http请求来获得相应的资源。



Tags:http   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
以京训钉开发平台接口文档为例,使用HttpClient类请求调用其接口,对数据进行增删改查等操作。 文档地址: https://www.yuque.com/bjjnts/jxd/bo1oszusing System;using System.C...【详细内容】
2021-12-28  Tags: http  点击:(1)  评论:(0)  加入收藏
HTTP 报文是在应用程序之间发送的数据块,这些数据块将通过以文本形式的元信息开头,用于 HTTP 协议交互。请求端(客户端)的 HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应...【详细内容】
2021-12-27  Tags: http  点击:(5)  评论:(0)  加入收藏
在SEO优化中,最重要的评估之一就是确定网站上存在哪些HTTP状态代码。这些代码可能会变得很复杂,成为一个难题,必须先解决这些难题,然后才能完成其他任务。例如,如果你放置的页面...【详细内容】
2021-12-24  Tags: http  点击:(5)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  Tags: http  点击:(9)  评论:(0)  加入收藏
简介在之前的文章中,我们提到了在netty的客户端通过使用Http2FrameCodec和Http2MultiplexHandler可以支持多路复用,也就是说在一个连接的channel基础上创建多个子channel,通过...【详细内容】
2021-12-14  Tags: http  点击:(8)  评论:(0)  加入收藏
1. 前言本文主要讲解如何在Linux上使用tinyproxy搭建HTTP/HTTPS代理器。tinyproxy是一个HTTP/HTTPS代理。它是轻量级的、快速的、非常容易配置的,而且是一个开源的代理服务。...【详细内容】
2021-12-08  Tags: http  点击:(18)  评论:(0)  加入收藏
由于https 使用了 TLS/SSL 加密条件,我们无法直接在wireshark的中读取到数据内容,我们先看一下正常的http包的内容。可以直接读取到http的header 和body。 但如果是https 则不...【详细内容】
2021-12-01  Tags: http  点击:(31)  评论:(0)  加入收藏
这段时间毕竟也是 “金九银十” 的面试的黄金季节,阿粉当然也想去面试,但是因为自身受限,所以只能采访一下出去面试的同学们都问了什么内容,其中有一个,阿粉觉得有必要给大家分享...【详细内容】
2021-11-05  Tags: http  点击:(45)  评论:(0)  加入收藏
在这篇文章中,大家将了解MQTT协议,以及为什么在许多物联网应用中使用它。 MQTT协议最初由IBM开发,并且是专有的。它的开发是为了解决石油和天然气行业的传感器通过卫星与远程服...【详细内容】
2021-10-21  Tags: http  点击:(32)  评论:(0)  加入收藏
自互联网出现以来,超文本传输协议http协议被广泛用于在Web浏览器和网站服务器之间传递信息,但随着互联网的发展,另一种协议——https出现,并与http一同服务于这个互联...【详细内容】
2021-10-20  Tags: http  点击:(44)  评论:(0)  加入收藏
▌简易百科推荐
以京训钉开发平台接口文档为例,使用HttpClient类请求调用其接口,对数据进行增删改查等操作。 文档地址: https://www.yuque.com/bjjnts/jxd/bo1oszusing System;using System.C...【详细内容】
2021-12-28  Wednes    Tags:HttpClient   点击:(1)  评论:(0)  加入收藏
阿里云与爱快路由安装组网教程一、开通好阿里云轻量服务器之后在服务器运维-远程连接处进行远程 二、进入控制台后在root权限下根据需要安装的固件位数复制下面命令。32位:wg...【详细内容】
2021-12-28  ikuai    Tags:组网   点击:(1)  评论:(0)  加入收藏
HTTP 报文是在应用程序之间发送的数据块,这些数据块将通过以文本形式的元信息开头,用于 HTTP 协议交互。请求端(客户端)的 HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应...【详细内容】
2021-12-27  程序员蛋蛋    Tags:HTTP 报文   点击:(5)  评论:(0)  加入收藏
一 网络概念:1.带宽: 标识网卡的最大传输速率,单位为 b/s,比如 1Gbps,10Gbps,相当于马路多宽2.吞吐量: 单位时间内传输数据量大小单位为 b/s 或 B/s ,吞吐量/带宽,就是网络的使用率...【详细内容】
2021-12-27  码农世界    Tags:网络   点击:(3)  评论:(0)  加入收藏
1.TCP/IP 网络模型有几层?分别有什么用? TCP/IP网络模型总共有五层 1.应用层:我们能接触到的就是应用层了,手机,电脑这些这些设备都属于应用层。 2.传输层:就是为应用层提供网络...【详细内容】
2021-12-22  憨猪哥08    Tags:TCP/IP   点击:(35)  评论:(0)  加入收藏
TCP握手的时候维护的队列 半连接队列(SYN队列) 全连接队列(accepted队列)半连接队列是什么?服务器收到客户端SYN数据包后,Linux内核会把该连接存储到半连接队列中,并响应SYN+ACK报...【详细内容】
2021-12-21  DifferentJava    Tags:TCP   点击:(10)  评论:(0)  加入收藏
你好,这里是科技前哨。 随着“元宇宙”概念的爆火,下一代互联网即将到来,也成了互联网前沿热议的话题,12月9日美国众议院的听证会上,共和党议员Patrick McHenry甚至宣称,要调整现...【详细内容】
2021-12-17  王煜全    Tags:Web3   点击:(14)  评论:(0)  加入收藏
一、demopublic static void main(String[] args) throws Exception { RetryPolicy retryPolicy = new ExponentialBackoffRetry( 1000, 3);...【详细内容】
2021-12-15  程序员阿龙    Tags:Curator   点击:(22)  评论:(0)  加入收藏
一、计算机网络概述 1.1 计算机网络的分类按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。1.2 计算机网络的层次结构 TCP/IP四层模...【详细内容】
2021-12-14  一口Linux    Tags:网络知识   点击:(31)  评论:(0)  加入收藏
无论是在外面还是在家里,许多人都习惯了用手机连接 WiFi 进行上网。不知道大家有没有遇到过这样一种情况, 明明已经显示成功连接 WiFi,却仍然提示“网络不可用”或“不可上网”...【详细内容】
2021-12-14  UGREEN绿联    Tags:WiFi   点击:(25)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条