摘要: 主要是围绕浏览器的工作展开,包括浏览器处理用户的交互、发送网络请求、收到网络响应之后的处理与渲染等等
前端:
主要是围绕浏览器的工作展开,包括浏览器处理用户的交互、发送网络请求、收到网络响应之后的处理与渲染等等
处理用户的交互
浏览器本身与用户的交互基本不涉及网络知识,但Web前端UI的设计与实现是一个前端研发攻城狮必须掌握的(主要是JS相关)
发送网络请求
处理网络响应与渲染
后台:
网络数据传输:
互联网层次体系的划分(如理想的OSI的七层模型和实用的TCP/IP四层网络模型),每个层次里包含的主要的网络协议,路由原理等等
互联网不同层次里的不同协议的各种细节(数据包结构、运行策略比如TCP协议的三次握手和拥塞避免、滑动窗口、IP地址划分、DNS查询原理)甚至包括常见的协议安全类知识
这部分内容相当繁琐复杂,但里面的各种基础知识是从事网络应用开发、网络运维、网络安全领域人员的必备知识
首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要进行通讯,大家要事先约定一个规范
连接
当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程,把域名变成ip,如果url里不包含端口号,则会使用该协议的默认端口号
DNS的过程:
请求
连接成功建立后,开始向web服务器发送请求,这个请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为:GET 路径/文件名 HTTP/1.0
现在可以发送GET命令:GET /mydir/index.html HTTP/1.0
应答
web服务器收到这个请求,进行处理。从它的文档空间中搜索子目录mydir的文件index.html。如果找到该文件,Web服务器把该文件内容传送给相应的Web浏览器
为了告知浏览器,Web服务器首先传送一些HTTP头信息,然后传送具体内容(即HTTP体信息),HTTP头信息和HTTP体信息之间用一个空行分开
-
HTTP 1.0 200 OK 这是Web服务器应答的第一行,列出服务器正在运行的HTTP版本号和应答代码。代码"200 OK"表示请求完成
-
content_type:类型 这个头信息非常重要,它指示HTTP体信息的MIME类型。如:content_type:text/html指示传送的数据是HTML文档