博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一、浏览器生成消息(1)
阅读量:5161 次
发布时间:2019-06-13

本文共 1124 字,大约阅读时间需要 3 分钟。

1、生成HTTP请求消息

(1)、解析URL

从在qq浏览器中输入网址(url)开始,如,接下来qq浏览器开始解析该url

http:  表示要访问web服务器,使用的协议类型是HTTP协议;其它还有ftp:,file:等

//    其后的字符串表示服务器的名称

www.cnblogs.com    web服务器名称,即域名

/lybpy/p/7957251.html  文件的路径名

因此该URL表示要访问 www.cnblogs.com 服务器中 /lybpy/p/ 目录下的 7957251.html 文件

 

(2)、认识HTTP协议

解析完URL,qq浏览器会使用HTTP协议来访问 www.cnblogs.com 这个web服务器,不过先要简单了解一下HTTP的工作过程。

HTTP协议定义了客户端和服务器间交互的消息内容和步骤。

首先,客户端向服务器发送请求消息。请求消息中包含的内容时 “对什么” 和 “进行怎样的操作” 两部分。

  • “对什么”        称为URI(统一资源标识符),URI是网页数据文件名如 /lybpy/p/7957251.html 或 cgi程序文件名
  •  “进行怎样的操作”          称为方法,主要是 GET ,POST

GET方法  如果URI指定文件则返回文件的内容;若是cgi程序则返回该程序的输出数据

POST方法  从客户端向服务器发送数据,一般用于发送表单中填写的数据

接着,web服务器收到消息后解析,如对/lybpy/p/7957251.html使用GET方法,将结果存放在响应消息中;响应消息格式:状态码,头字段,网页数据。

最后,响应消息被发回客户端如qq浏览器,浏览器从消息中读出所需的数据并显示在屏幕上。至此,HTTP的整个过程就完了。

 

(3)、生成HTTP请求消息

浏览器发送请求消息,消息的固定格式:

 

(4)、响应消息

浏览器发送请求消息后,web服务器会返回响应消息。响应消息中第一行是状态码和响应短语。状态码是数字,告知执行结果;响应短语是文字,告知执行结果。状态码如下:

1xx  告知请求的处理进度和情况

2xx  成功

3xx  表示需要进一步操作

4xx  客户端错误

5xx  服务器错误

返回响应消息后,qq浏览器将数据取出显示在屏幕上即为网页。

若网页内容只有文字,则过程结束。

若网页中还有图片等资源,还有下文。以网页为例,浏览器在屏幕上留出用于显示图片的空间,然后再次(或多次)访问web服务器获取图片资源,并显示在相应位置。

 

接下来qq浏览器委托os向DNS server查询IP

转载于:https://www.cnblogs.com/lybpy/p/8146137.html

你可能感兴趣的文章
《avascript 高级程序设计(第三版)》 ---第二章 在HTML中使用Javascript
查看>>
JS一些概念知识及参考链接
查看>>
TCP/IP协议原理与应用笔记24:网际协议(IP)之 IP协议的简介
查看>>
SAP HANA开发中常见问题- 基于SAP HANA平台的多团队产品研发
查看>>
游戏中的心理学(一):认知失调有前提条件
查看>>
WHAT I READ FOR DEEP-LEARNING
查看>>
【Ruby】Ruby在Windows上的安装
查看>>
Objective C 总结(十一):KVC
查看>>
BZOJ 3747 洛谷 3582 [POI2015]Kinoman
查看>>
vue实战(7):完整开发登录页面(一)
查看>>
[转载]mysql的left,right,substr,instr截取字符串,截取
查看>>
Visual Studio自定义模板(二)
查看>>
【Mood-20】滴滤咖啡做法 IT工程师加班必备 更健康的coffee 项目经理加班密鉴
查看>>
读《构建之法-软件工程》第四章有感
查看>>
使用 Printf via SWO/SWV 输出调试信息
查看>>
.net 分布式架构之分布式锁实现(转)
查看>>
吴恩达机器学习笔记 —— 3 线性回归回顾
查看>>
Problem E: Automatic Editing
查看>>
SpringBoot 使用 MyBatis 分页插件 PageHelper 进行分页查询
查看>>
《DSP using MATLAB》Problem 6.17
查看>>