第一章 了解Web及网络基础
Web建立基础、HTTP如何诞生发展
1.使用HTTP协议访问Web
在浏览器地址栏中输入URL之后过程:
1)DNS 解析:浏览器查询 DNS,获取域名对应的 IP 地址:具体过程包括浏览器搜索自身的 DNS 缓存、搜索操作系统的 DNS 缓存、读取本地的 Host 文件和向本地 DNS 服务器进行查询等。对于向本地 DNS 服务器进行查询,如果要查询的域名包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析(此解析具有权威性);如果要查询的域名不由本地 DNS 服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个 IP 地址映射,完成域名解析(此解析不具有权威性)。如果本地域名服务器并未缓存该网址映射关系,那么将根据其设置发起递归查询或者迭代查询;
2)TCP 连接:浏览器获得域名对应的 IP 地址以后,浏览器向服务器请求建立链接,发起三次握手;
3)发送 HTTP 请求:TCP 连接建立起来后,浏览器向服务器发送 HTTP 请求;
4) 服务器处理请求并返回 HTTP 报文:服务器接收到这个请求,并根据路径参数映射到特定的请求处理器进行处理,并将处理结果及相应的视图返回给浏览器;
5)浏览器解析渲染页面:浏览器解析并渲染视图,若遇到对 js 文件、css 文件及图片等静态资源的引用,则重复上述步骤并向服务器请求这些资源;浏览器根据其请求到的资源、数据渲染页面,最终向用户呈现一个完整的页面。
6) 连接结束。
2.HTTP的诞生——巴拉巴拉……
3.网络基础TCP/IP
TCP/IP是互联网相关的各类协议族的总称。
【分层管理】:
应用层(决定了向用户提供应用服务时通信的服务):FTP、DNS、HTTP…
运输层(提供处于网络连接中的两台计算机之间的数据传输):TCP、UDP
网络层(处理网络上流动的数据包):IP、ARP、ICMP、BGP
链路层(处理连接网络的硬件部分):PPP、CSMA/CD
【TCP/IP通信传输流】:
发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息(封装)。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。
我们用 HTTP 举例来说明:
首先作为发送端的客户端在应用层(HTTP 协议)发出一个想看某个 Web 页面的 HTTP 请求。
接着,为了传输方便,在传输层(TCP 协议)把从应用层处收到的数据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。
在网络层(IP 协议),增加作为通信目的地的 MAC 地址后转发给链路层。这样一来,发往网络的通信请求就准备齐全了。
接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的 HTTP请求。
4.与HTTP关系密切的协议:IP、TCP、DNS
【IP:负责传输】IP 地址是指互联网协议地址,处于网络层,是 IP 协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
IP是一种协议的名称,要与IP地址区分出来。IP协议的作用是把各种数据包传送给对方。而确保消息传送到对方那,需要两个重要条件:IP地址和MAC地址。
IP地址指明了节点被分配的地址,MAC地址是指网卡所属的固定地址。
ARP协议:根据通信方的IP地址反查出对应的MAC地址。
路由选择:BGP、RIP、OSPF
【TCP:确保可靠性】TCP处于运输层,提供可靠的字节流服务。字节流服务是指为了方便传输,将大数据分割成以报文段为单位的数据包进行管理。可靠是指能把数据准确可靠的传输给对方(三次握手、四次挥手)。
【DNS:负责域名解析】DNS协议提供通过域名查找IP地址,或者逆向从IP地址反查域名的服务。
5.各种协议和HTTP协议的关系
6.URI和URL
URI:统一资源标识符,用字符串标识(无论何种方式,只要能标识就可以)某一互联网资源。
URL:统一资源定位符,用字符串表示资源的地点,URL只是标识某一互联网资源的方式的其中一种,因此URL是URI子集。URL则通过描述是哪个主机上哪个路径上的文件来唯一确定一个资源,也就是定位的方式来实现的URI。
【URI格式】
登录信息:指定用户名和密码作为从服务器端获取资源的必要的登录信息(身份认证)。可选项。
片段标识符:标记已获取资源中的子资源。
第一章 了解Web及网络基础的更多相关文章
-
【图解HTTP】第一章 了解web及网络基础
[图解HTTP]了解Web及网络基础 Web页面是如何呈现的?根据Web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源(resource)等信息,从而显示出Web页面. 这种通过 ...
-
HTTP图解笔记(一)—— 第1章 了解Web及网络基础
TCP/IP协议族 网络是在TCP/IP协议族的基础上运作的,HTTP是一个子集 OSI四层: 应用层:通用的应用服务协议,FTP.DNS.HTTP ↓ 传输层:提供计算机之间的数据传输,TCP.UD ...
-
http基础(1.了解web及网络基础,2.简单的http协议)
第一章:了解web及网络基础 1.http:超文本传输协议 2.tcp/ip协议族:通常使用的网络是在tcp/ip协议族的基础上运作的,而http属于它内部的一个子集. 3.tcp/ip协议族按层次分 ...
-
了解web及网络基础
了解web及网络基础 以下内容简单的说明了一下TCP/IP协议族中HTTP协议.DNS服务.IP协议的一些概念和关系.笔者只是对知识点进行了总结,仅供参考: ) 转载请注明出处:了解web及网络基础 ...
-
第一章 创建WEB项目
第一章 创建WEB项目 一.Eclipse创建WEB项目 方法/步骤1 首先,你要先打开Eclipse软件,打开后在工具栏依次点击[File]>>>[New]>>&g ...
-
图解 HTTP 笔记(一)——了解 Web 及网络基础
本章内容:Web 建立在何种技术之上,HTTP 协议如何诞生并发展? 一.Web 基于 HTTP 通信 Web 使用一种名为 HTTP (HyperText Transfer Protocol,超文本 ...
-
http(一)web和网络基础
深入学习http不为别的,只为补充底层知识,打好根基,深入了解其他技术,擒贼先擒王,学好九阳神功以后,乾坤大挪移,太极剑就容易了,急于求成,就只能变周芷若.走着...... 来源于:图解HTTP 1. ...
-
HTTP图解--了解Web及网络基础
1.网络基础TCP/IP 通常使用的网络是在TCP/IP协议族的基础上运行的,http属于它内部的一个子集. TCP/IP协议族按层次分别分为:应用层.传输层.网络层和数据链路层.分层的好处在于各司其 ...
-
第一章:大数据 の Linux 基础 [更新中]
本课主题 Linux 休系结构图 Linux 系统启动的顺序 Linux 查看内存和 CPU 指令 环境变量加载顺序 Linux 内存结构 Linux 休系结构图 Linux 大致分为三个层次,第一层 ...
随机推荐
-
sql语句中的注释符号
sql语句中的注释符号 mysql # 到该行结束.-- 到该行结束 以及 的注释方格:mysql> SELECT 1+1; # 这个注释直到该行结束mysql> SELE ...
-
html中offsetTop、clientTop、scrollTop、offsetTop各属性
HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight: 获取对象的滚动高度. scrollLeft:设置或获取位于对 ...
-
maven - setting.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...
-
Sqlserver 列转行 行转列
sqlserver的行转列 列转行问题 行转列:1 使用Case when 方式 CREATE TABLE [StudentScores]( [UserName] NVARCHAR(20), --学生 ...
-
git开源项目协作
开源项目协作 fork开源项目,即打开开源项目的github,然后点击fork按钮 pull request
-
bzoj4031 [HEOI2015]小Z的房间
Description 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可以看做是一个包含n*m个格子的格状矩形,每个格子是一个房间或者是一个柱子.在一开始的时候,相邻的格子之间都有墙隔着. ...
-
java基础--面对对象
面对对象--概述 什么是对象? +---->对象可以泛指一切现实中存着的事物 +---->类是对象的抽象集合 什么是面对对象? +--->万物皆对象,面对对象实际就是人与万物接触== ...
-
IPv6绝不仅仅是对IPv4地址长度的增加
众所周知,IPv6 IP地址长度是IPv4 IP地址长度的四倍,是解决IPv4公共网址资源枯竭的最佳技术.的确,IETF在制定IPv6标准时也是基于这一因素考虑的.当时正是90年代初,Web开始出现, ...
-
Linux的常见问题解答和管理技巧
Linux的常见问题解答和管理技巧 一. 如何建立多用户 提醒大家一句,别一直使用root用户,因为root用户在系统中有着至高无上的权力,一不小心就可能破坏系统.比如我们想删除/temp目录下的文件 ...
-
go-ehtereum编译:
git clone https://github.com/ethereum/go-ethereum.git cd go-ethereum && git checkout make ge ...