浏览器与服务器通信过程(HTTP协议)

news/2024/4/29 5:00:07

目录

1 概念

2 常见的 web 服务器有

3 浏览器与服务器通信过程

3.1 DNS

3.2 URL

4 HTTP请求方法和应答状态码

4.1 HTTP请求报文段实例

4.2 HTTP请求方法

5 HTTP应答报头和应答状态

5.1 HTTP的应答报头结构

5.2 HTTP的应答状态


1 概念

浏览器与 web 服务器在应用层通信使用的是 HTTP 协议(超文本传输协议),而 HTTP协议在传输层使用的是 TCP 协议。那么浏览器需要和 web 服务器三次握手建立连接后,才可以发送 HTTP 请求报文,服务器收到请求报文后,向浏览器回复 HTTP 应答报文

浏览器向服务器发起连接前,需要得到服务器的IP 及端口。用户在浏览器中通常只输入网址(网站域名)浏览器会通过 DNS 服务查询获取到服务器的 IP 地址。 对于端口来讲,使用 HTTP 协议的程序一般默认使用80 端口。

浏览器服务器建立连接后,如果两次以上的请求复用同一个 TCP 连接,则称之为长连接。如果浏览器发送次请求报文,服务器回复一次应答就断开连接,下次交互再重新进行三次握手建立连接,那么就被称作短连接。使用长连接显然是更好一些,可以减少网络中的同步报文,也使得服务器的响应速度变快。
http属于应用层,它在传输层使用的是tcp协议:

传输层协议:tcp 协议和udp协议;

2 常见的 web 服务器有

Apache: 简单、速度快、性能稳定,并可做代理服务器使用

llS(InternetInformation Server):安全性、强大、灵活

Nginx:小巧而高效,可以做高效的负载均衡反向代理

Tomcat:技术先进、性能稳定、免费

3 浏览器与服务器通信过程

(1)浏览器从URL中解析出服务器的主机名

(2)浏览器将服务器的主机名转换成服务器的!P地址;

(3)浏览器将端口号(如果有的话)从URL中解析出来

(4)浏览器建立一条与Web服务器的TCP连接:

(5)浏览器向服务器发送一条HTTP请求报文

(6)服务器向浏览器回送一条HTTP响应报文

(7)关闭连接,浏览器显示文档; 

3.1 DNS

域名系统(英文:Domain Name system,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。

浏览器要将URL解析为IP地址,解析域名就要用到DNS协议,首先主机会査询DNS的缓存,如果没有就给本地DNS发送查询请求。DNS查询分为两种方式,一种是递归查询,一种是迭代查询。如果是迭代查询,本地的DNS服务器,向根域名服务器发送査询请求,根域名服务器告知该域名的一级域名服务器,然后本地服务器给该一级域名服务器发送査询请求,然后依次类推直到査询到该域名的IP地址。DNS服务器是基于UDP的,因此会用到UDP协议。

3.2 URL

URL:统一资源定位符,URL是资源标识符最常见的形式

URL描述了一台特定服务器上某资源的特定位置,它们可以明确说明如何从一个精确,固定的位置获取资源

了解URI:统一资源标识符(现在,几乎所有的URI都是URL);

URI的第二种形式就是统一资源名(URN) 

4 HTTP请求方法和应答状态码

HTTP请求报头结构

4.1 HTTP请求报文段实例

index.html指定资源文件的名称,这里指的是服务器根目录(站点的根目录,而不是服务器的文件系统根目录"/"中的索引文件.


注意:Keep-Alive首部只是请求将连接保持在活跃状态.发出keep-alive请求之后,客户端和服务器端并不一定会统一进行keep-alive会话,它们可以在任意时刻关闭空闲的keep-alive连接,并可随意限制keep-alive连接所处理事务的数量. 

4.2 HTTP请求方法

5 HTTP应答报头和应答状态

5.1 HTTP的应答报头结构

5.2 HTTP的应答状态

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.cpky.cn/p/10630.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

开源大数据集群部署(十五)Zookeeper集群部署

作者:櫰木 1、集群规划 主机版本角色系统用户hd1.dtstack.com3.7.1followerzookeeperhd2.dtstack.com3.7.1leaderzookeeperhd3.dtstack.com3.7.1followerzookeeper 2、zookeeper kerberos主体创建 在生产中zk服务端和客户端票据可以设置成不通名称或相同名称&am…

华为数通方向HCIP-DataCom H12-821题库(多选题:161-180)

第161题 以下关于IPv6优势的描述,正确的是哪些项? A、底层自身携带安全特性 B、加入了对自动配置地址的支持,能够无状态自动配置地址 C、路由表相比IPv4会更大,寻址更加精确 D、头部格式灵活,具有多个扩展头 【参考答案】ABD 【答案解析】 第162题 在OSPF视图下使用Filt…

web的部署

首先,我们鼠标右击此电脑,管理,添加角色和功能 默认下一步, 默认下一步, 默认下一步, 勾选web,点击下一步, 点击下一步, 默认下一步, 勾选所需功能&#xff0…

宠物小精灵之收服

题目描述 宠物小精灵是一部讲述小智和他的搭档皮卡丘一起冒险的故事。 一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物小精灵。小智也想收服其中的一些小精灵。然而,野生的小精灵并不那么容易被收服。对于每一个野生小精灵而…

【机器学习300问】30、准确率的局限性在哪里?

一、什么是准确率? 在解答这个问题之前,我们首先得先回顾一下准确率的定义,准确率是机器学习分类问题中一个很直观的指标,它告诉我们模型正确预测的比例,即 还是用我最喜欢的方式,举例子来解释一下&#xf…

#QT(MainWindow初尝---文本编辑器)

1.IDE:QTCreator 2.实验:使用MainWindow做一个文本编辑器 3.记录 (1)创建几个功能 (2)为几个功能写实现,这里不能使用转到槽,需要自己用connect函数关联。这里的功能是QAction类&am…