热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【图解HTTP】第一章了解web及网络基础

[图解HTTP]了解Web及网络基础Web页面是如何呈现的?根据Web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源(resour

[图解HTTP]了解Web及网络基础
  • Web页面是如何呈现的?
    根据Web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源(resource)等信息,从而显示出Web页面。

    这种通过发送请求获取服务器资源的Web浏览器等,都可称为客户端(client)

Web使用一种名为HTTP(hypertext transfer protocol,超文本传输协议)的协议作为规范,完成从客户端到服务器端等一系列运作流程。可以说Web是建立在Http协议上通信的。

HTTP的诞生

HTTP有伯纳斯-李(Tim Berners-Lee)博士提出的。为的是能让远隔两地的研究者们共享知识的设想。

基本理念是:借助多文档之间相互关联形成的超文本(HyperText),连成可相互参阅的WWW(World Wide Web,万维网)。

3项WWW构建技术:HTML,HTTP,URL.

网络基础TCP/IP

提出使用的网络(包括互联网)是在TCP/IP协议族的基础上运作的。而HTTP属于它内部的一个子集。

计算机与网络设备要相互通信,双方就必须基于相同的方法,不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议(protocol)。

把与互联网相关联的协议集合起来总称为TCP/IP

TCP/IP的分层管理

TCP/IP协议族按层次分别分为以下4层:应用层、传输层、网络层和数据链路层。

分层的好处,如果互联网只由一个协议统筹,某个地方需要改变设计时,就必须把所有部分整体替换掉。而分成之后只需把变动的层替换掉即可。

各层的作用

  • 应用层:应用层决定了向用户提供应用服务时通信的活动。如FTP(File Transfer Protocol,文件传输协议)和DNS(Domain Name System,域名系统)服务。HTTP协议也处于这一层
  • 传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。有TCP(transmission control protocol,传输控制协议)和UDP(User Data Protocl,用户数据报协议)。
  • 网络层(网络互连层):用来处理在网络上流动的数据包。规定哪条传输路线将数据包传送到对方计算机。
  • 链路层(数据链路层,网络接口层):用来处理连接网络的硬件部分。包括操作系统、硬件的设备驱动、NIC(NetWork Interface Card,网络适配器,即网卡)等。

TCP/IP通信传输流

利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则从应用层往上走。

发送端在层与层之间传输数据时,没经一层时必定会被打上一个该层所属的首部信息,反之,接收端在层与层传输数据时,没经过一层时会把对应的首部消去。

与HTTP关系密切的协议:IP、TCP和DNS

负责传输的IP协议

IP(Internet Protocol)网络协议位于网络层。IP协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是IP地址和MAC地址(Media Access Control Address)。IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址和MAC地址进行配对,IP地址可变换,但MAC地址基本不会更改。

使用ARP协议凭借MAC地址进行通信

IP间的通信依赖MAC地址。网络中,处于同一局域网内的情况很少,通常是经过多台计算机和网络设备中转才能连接到对方。中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。这时,会采用ARP协议(Address Resolution Protocol),ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反查处对应的MAC地址。

路由选择

在到达通信目标前的中转过程中,那些计算机和路由器等网络设备只能获悉很粗略的传输路线。这种机制称为路由选择(routing)。无论哪台计算机,哪台网络设备,它们都无法全面掌握互联网中的细节。

确保可靠性的TCP协议

TCP处于传输层,提供可靠的字节流服务。
所谓的字节流服务(Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。可靠性就是能够把数据准确可靠地传给对方。(废话。。)

三次握手(three-way handshaking)策略

三次握手是为了准确无误地将数据送达目标处。用TCP协议把数据包送出去后,还会向对方确认是否成功送达。握手过程中使用了TCP的标志(flag)—SYN(synchronize)和ACK(acknowledgement)

除了三次握手,TCP协议还有其他各种手段来保证通信的可靠性。

负责域名解析的DNS服务

DNS服务和HTTP协议一样位于应用层。提供域名到IP地址之间的解析服务。DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。

各种协议与HTTP协议的关系


转:https://www.cnblogs.com/six-moon/p/5013508.html



推荐阅读
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了为什么要使用多进程处理TCP服务端,多进程的好处包括可靠性高和处理大量数据时速度快。然而,多进程不能共享进程空间,因此有一些变量不能共享。文章还提供了使用多进程实现TCP服务端的代码,并对代码进行了详细注释。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • HSRP热备份路由器协议的应用及配置
    本文介绍了HSRP热备份路由器协议的应用及配置方法,包括设计目标、工作原理、配置命令等。通过HSRP协议,可以实现在主动路由器故障时自动切换到备份路由器,保证网络连通性。此外,还介绍了R1和R2路由器的配置方法以及Sw1和Sw2交换机的配置方法,最后还介绍了测试连通性和路由追踪的方法。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • 计算机网络计算机网络分层结构
    为了解决计算机网络复杂的问题,提出了计算机网络分层结构。计算机网络分层结构主要有OSI7层参考模型,TCPIP4层参考模型两种。为什么要分层不同产商 ... [详细]
  • pc电脑如何投屏到电视?DLNA主要步骤通过DLNA连接,使用WindowsMediaPlayer的流媒体播放举例:电脑和电视机都是连接的 ... [详细]
  • IP、ARP、TCP、UDP、ICMP、DNS、路由协议、DHCP协议的缺陷,容易受到的攻击,以及防御措施1、IP协议1.1、介绍: ... [详细]
  • 实例详解ISA防火墙策略元素
    我们在前面的工作中已经实现了ISA2006的代理服务器功能,接下来我们要实现ISA的访问控制功能。很多公司都有控制员工访问外网的需求,例如有的公司不允许 ... [详细]
  • <!DOCTYPEhtml><html><head><metacharsetutf-8><head&g ... [详细]
  • 2022.4.2学习成果
    Flink中的编程模型4.1编程模型在Flink,编程模型的抽象层级主要分为以下4种,越往下抽象度越低,编程越复杂,灵活度越高。这里先不一一介绍,后续会做详细说明。这4层中,一般用 ... [详细]
author-avatar
miya的发现王国sGA_998
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有