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

目录

[1 概念](#1 概念)

[2 常见的 web 服务器有](#2 常见的 web 服务器有)

[3 浏览器与服务器通信过程](#3 浏览器与服务器通信过程)

[3.1 DNS](#3.1 DNS)

[3.2 URL](#3.2 URL)

[4 HTTP请求方法和应答状态码](#4 HTTP请求方法和应答状态码)

[4.1 HTTP请求报文段实例](#4.1 HTTP请求报文段实例)

[4.2 HTTP请求方法](#4.2 HTTP请求方法)

[5 HTTP应答报头和应答状态](#5 HTTP应答报头和应答状态)

[5.1 HTTP的应答报头结构](#5.1 HTTP的应答报头结构)

[5.2 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的应答状态

相关推荐
Bruce_Liuxiaowei7 分钟前
AWK在网络安全中的高效应用:从日志分析到威胁狩猎
网络·安全·web安全
Web极客码19 分钟前
如何在中将网络改为桥接模式并配置固定IP地址
开发语言·网络·ubuntu·php·虚拟机
靡樊1 小时前
传输层协议UDP/TCP
linux·网络·网络协议·学习·tcp/ip·udp
在成都搬砖的鸭鸭2 小时前
【Linux】network网络配置
linux·服务器·网络
Xの哲學2 小时前
hostapd 驱动注册机制深度分析
linux·网络·算法·wireless
liulilittle2 小时前
OPENPPP2 VMUX 技术探秘(高级指南)
网络·信息与通信·ip·通信·mux
广目软件2 小时前
GM DC Monitor v2.0 卸载教程
服务器·网络·zabbix·prometheus
QC七哥2 小时前
wireshark过滤显示rtmp协议
网络·wireshark·rtmp
兴达易控4 小时前
信捷V5 - F5变频器接入到Profibus网络的关键
网络协议
qq_386322694 小时前
华为网路设备学习-25(路由器OSPF - 特性专题 二)
网络·学习·华为