《图解HTTP》学习笔记(一)-了解Web及网络基础
2016-05-24 15:43
726 查看
1、使用HTTP协议访问Web
当我们在网页浏览器(Web brow ser)的地址栏中输入 URL 时,Web 页面是如何呈现的?根据 Web 浏览器地址栏中指定的 URL,Web 浏览器从 Web 服务器端获取文件资源(resource)等信息,从而显示出 Web 页面。
Web 使用HTTP(Hy perT ex t Transfer Protocol,超文本传输协议)协议作为规范,完成从客户端到服务器端等一系列运作流程。而协议是指规则的约定。可以说,Web 是建立在 HTTP 协议上通信的。
2、TCP/IP 协议族
按协议族层从上到下依次分为4层:应用层、传输层、网络层和链路层 。1)应用层:决定了向用户提供应用服务时通信的活动。如FTP、DNS、HTTP等 。
2)传输层:对上层(应用层)提供处于网络连接中的两台计算机之间的数据传输,主要涉及TCP、UDP 。
3)网络层(又名网络互连层):处理网络上流动的数据包。数据包是网络传输的最小单元 。功能就是选择合适的传输路线到达对方计算机,即一边路由,一边传输。
4)链路层(又名数据链路层或网络接口层):处理连接网络的硬件部分,包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网卡),及光纤等物理可见部分。硬件上的范畴均在链路层的作用范围之内。
TCP/IP 通信传输流程:
利用 TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则往应用层往上走。发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。
用 HTTP 举例来说明:
1)首先作为发送端的客户端在应用层(HTTP 协议)发出一个想看某个 Web 页面的 HTTP 请求。
2)接着,为了传输方便,在传输层(TCP 协议)把从应用层处收到的数据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。
3)在网络层(IP 协议),增加作为通信目的地的 MAC 地址后转发给链路层。
4)接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的 HTTP 请求。
3、与HTTP关系密切的协议:IP/TCP/DNS
1、IP(Internet Protocol)位于网络层作用:把各种数据包传送给对方
关键:IP地址可以和MAC地址进行配对,ip地址通过ARP协议可以反查出对应的MAC地址 。
2、TCP协议 位于传输层
作用:提供可靠的字节流服务(字节流:为了传输方便将大的数据块切割成小的报文段为单位的数据包进行管理)
关键:三次握手 SYN/ACK
3、DNS(Domain Name System)域名解析协议 位于应用层
作用:提供域名到IP地址之间的解析服务。
4、各种协议之间的关系
注意各协议的职责!!!5、URI和URL
URI(Uniform Resource Identifier,统一资源标识符)用于标识某一资源 。URL(Uniform Resource Loaction,统一资源定位符)用于标识某一资源的位置,可以提供找到该资源的位置 。
URL是URI的子集 。
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- HTTP Header 属性列表
- nginx中http核心模块的配置指令2
- nginx中http核心模块的配置指令3
- nginx中http核心模块的配置指令4
- nginx中http的fastcgi模块的配置指令1
- 如何在 Linux 中快速地通过 HTTP 提供文件访问服务
- 深入HTTP head的使用详解
- Ruby程序中发送基于HTTP协议的请求的简单示例
- ASP 中使用 HTTP 协议发送参数详解
- C#基于socket模拟http请求的方法
- http www安全必备知识
- asp HTTP 500错误 常见问题分析
- http代理相关知识分析
- 在Node.js中使用HTTP上传文件的方法
- php错误提示failed to open stream: HTTP request failed!的完美解决方法
- php提示Failed to write session data错误的解决方法