知道计算机网络的整体的流程,对于理解编程的时候背后发生的事情十分的有效。整个计算机网络传递的简单的思路是,浏览器请求,服务器响应。而中间会经过很多的步骤,主要的几个是:
1)web浏览器
2)协议栈、网卡
3)集线器、交换机、路由器
4)接入网、网络运营商
5)防火墙、缓存服务器
6)web服务器。
这一章主要来介绍这几个过程中的第一个过程:web浏览器处理过程。
参考书籍:网络是怎么连接的
文章目录
web浏览器处理过程
网址解析:URL
解析的网址一般是URL
而URL有不同的写法,比如存在不同的访问方法:http:, ftp:, file: , mailto等,可以理解为是协议的类型。比如访问web服务器的时候则应该使用FTP协议。
同时对于可能出现省略文件名的情况,一般是文件夹下的默认文件
HTTP
什么是HTTP
解析好之后,就开始访问了,但是在访问之前,先介绍下HTTP协议
HTTP定义了客户端和服务端之间交互的消息内容和步骤
客户端向服务器发出请求消息,“对什么”“进行什么操作”
“对什么”一般是数据或者是某段程序对象的文件名,这个叫做URI,一般是从URL里面提取的;“进行什么操作”表示需要让web服务器完成什么工作,比如比较常用的post,get,这个可以理解为需要进行的操作
一般我们都是使用的get请求访问某个网站,post用来处理表单数据
(剩余的还有head,delete,put,options,trace,connect等)
HTTP消息
根据HTTP协议,在完成对于消息的解析之后,就会生成HTTP消息,这个消息是通过遵循一定的格式来传递信息
格式如下:
请求信息:
<方法><空格>< URI ><空格><HTTP版本> //请求行
<字段名>:<字段值> //消息头,每行有一个头字段,表示请求的附加信息
…
…
<空行>
<消息体> 客户端向服务端发送的信息,比如POST向服务器发送的网页表单数据
响应信息: