IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HTTP请求完整过程 -> 正文阅读

[网络协议]HTTP请求完整过程

一.HTTP报文格式 ,以及工作原理? ? ? ?

???????????????http协议:超文本传输协议,是应用层的通信协议,通常由客户端发起一个请求,创建一个到服务器指定的端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户的请求。一旦收到请求,服务器就会向客户端返回一个状态,以及返回的内容,如请求的文件。

????????HTTP工作原理:

????????1.客户端连接到web服务器

? ? ? ? ????????一个HTTP客户端,通常是浏览器,与web服务器的http端口建立一个TCP套接字连接。

????????2.发送HTTP请求

? ? ? ? ????????通过TCP套接字,客户端向web服务器发送一个文本的请求报文,一个请求报文有:

? ? ? ? ? ? ? ? ????????请求行\r\n

? ? ? ? ? ? ? ? ????????请求头部\r\n

? ? ? ? ? ? ? ? ????????\r\n

? ? ? ? ? ? ? ? ????????请求数据\r\n

????????3.服务器接受请求并返回HTTP响应

? ? ? ? ????????服务器read套接字,解析请求文本,定位请求资源。服务器将资源write到套接字,由客户端读取。一个相应文本由:

? ? ? ? ? ? ? ? ????????状态行\r\n

? ? ? ? ? ? ? ? ????????相应头部\r\n

? ? ? ? ? ? ? ? ????????\r\n

? ? ? ? ? ? ? ? ????????响应数据\r\n

????????4.客户端浏览器解析HTML内容

? ? ? ? ????????客户端read套接字,解析响应文本,查看状态码,处理和显示信息

????????5.断开TCP连接(请求头connection=close)

二.首先是浏览器解析IP地址??

? ? ? ? 1.从URL中解析出域名

? ? ? ? 2.检查缓存中是否有对应域名的IP

? ? ? ? ? ? ? ? 浏览器缓存

? ? ? ? ? ? ? ? 本机域名解析文件中

? ? ? ? 如果缓存中没有对应的IP便发起DNS请求,DNS中获取到IP后返回

三.进行网络请求

? ? ? ? 1.首先建立一个TCP三次握手

? ? ? ? 2.请求报文的构建,发起一个HTTP请求报文

? ? ? ? 3.服务器处理用户的请求

? ? ? ? 4.返回响应报文

? ? ? ? 5.客户端浏览器对响应报文的解析,并且渲染页面

? ? ? ? ? ? ? ??

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 12:08:14  更:2021-09-09 12:08:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/27 1:35:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码