zoukankan      html  css  js  c++  java
  • 一、浏览器生成消息(1)

    1、生成HTTP请求消息

    (1)、解析URL

    从在qq浏览器中输入网址(url)开始,如http://www.cnblogs.com/lybpy/p/7957251.html,接下来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

    渐变 --> 突变
  • 相关阅读:
    C语言宏定义##连接符和#符的使用
    C语言宏高级用法 [总结]
    101平衡模式 DIR的理解
    MACHINE_START 怎样调用
    SYSCALL_DEFINE3宏定义的分析
    ARM-Linux系统调用流程
    SYSCALL_DEFINE3 宏定义的转换
    socket编程之select()
    socket编程之select()
    Oracle 常用的查询操作
  • 原文地址:https://www.cnblogs.com/lybpy/p/8146137.html
Copyright © 2011-2022 走看看