Web开发基础之“网络协议”

1. TCP/IP协议

 

参考内容:http://www.ruanyifeng.com/blog/2009/03/tcp-ip_model.html

     TCP/IP (Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议-网络通讯协议)协议集是计算机网络中使用最广泛的体系结构之一,它是为互联网设计的。是由网络层的IP协议和传输层的TCP协议组成。

 

TCP/IP的四层结构,上一层的协议都以下一层的协议为基础。TCP/IP协议是以TCP和IP为基础的所有相关协议的集合。

 

从上到下的四层分别为,

(1)应用层(Application Layer)

应用层负责传送各种最终形态的数据,是直接与用户打交道的层,典型协议是HTTP/FTP等;

应用层有SMTP(简单邮件传输协议)、NNTP(网络新闻传输协议)和HTTP(超文本传输协议)。

HTTP协议是平时上网浏览网页时用的协议,它们是通信所遵循的规则。

(2)传输层(Transport Layer)

传输层负责传送文本数据,主要协议是TCP协议。

TCP协议是Transfer Control Protocol的简称,是一个面向连接的、保证可靠传输的数据流服务的协议。

通过TCP协议传输,得到的是一个顺序的、无差错的数据流。客户端和服务器端的两个成对的Socket之间必须建立相应连接。

(3)网络层(Internet Layer)

网络层负责分配地址和传送二进制数据,主要协议是IP协议。

IP协议是一种数据报文协议,作用是通过IP来找到网络中的位移主机。

(4)连接层(Link Layer)

连接层负责建立电路连接,是整个网络的物理基础,典型的协议包括以太网、ASDL等。

 

例如浏览器端在应用层用HTTP协议与主机进行对话,而这些对话的底层协议,都是TCP协议,因为这是负责文本传输的协议;而TCP协议又必须依靠IP协议,进行二进制数据的传输;而二进制数据的传输,离不开最底层负责网络连接的物理协议。因此通过应用层-传输层-网络层-连接层的网络架构,就实现了整个互联网的通信。

 

2. HTTP协议

 

参考来源:

http://baike.baidu.com/link?url=QvRluiLPBaPnWMweavIswsaKFA-k80WutXIQO1pyRz3zyThrP4Vb50pZjihWfrxedVIGsE67iNgoaJCKn7iL8l4vRbViqKzUnpuBxQKxV_5YxPFMY2FgJGt1-00Fe_DfYygE1vCJWq6WbZdy2Vr0HmgH0ljs903d6XOvYlLcVAq

 

HTTP(Hypertext transfer protocol)定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。

从层次的角度看,HTTP是面向(transaction-oriented)应用层协议,是万维网上能够可靠地交换文件(如文本、声音、图像等各种媒体文件)的重要基础。

如欲了解更详细的HTTP协议的知识,极力推荐以下博文:

http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html

 

3. URL(统一资源定位符)

IP地址,是为了实现网络中不同计算机之间的通信而设置的,使每个机器有不一样的标识。

DNS(域名系统),服务器是需要通过IP地址来进行访问的。但平常上网时,只是输入如www.baidu.com这样的网址,那么就需要用到DNS。

DNS的作用是将平常输入的文本网络地址转换成难懂但很高效的网络地址。这是网络发展的重要一步,因为人更容易记住文本形式的地址,但对于服务器来说,它执行数字地址要比文本地址快得多。

URL——Uniform Resource Locator的缩写,是统一资源定位器的简称,它表示Internet上某一资源的地址。

通过URL可以访问Internet上的各种网络资源,如最常见的WWW、FTP站点。浏览器通过解析给定的URL可以在网络上访问相应的文件或其他资源,互联网上的每个文件都有一个唯一的URL。

 

URL的组成

基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名。

URL是由协议名和资源名组成的,基本形式如protocl://resourceName。

协议名(protocol)指明获取资源所使用的传输协议,如HTTP,FTP,GOPHER,FILE等;

资源名(resourceName)则应该是所要访问资源的完整地址,它是由能转换成主机名的文本地址或直接指定多访问服务器的端口、文件名或文件内部的一个引用所组成的。

http://www.baidu.com/是由协议名加主机名组成的;

http://home.netscape.com/home/welcome.html则是由协议名加主机名加文件名组成的。

 

模式/协议

URL-模式/协议(scheme):它告诉浏览器如何处理将要打开的文件。最常用的模式是超文本传输协议(Hypertext Transfer Protocol, HTTP),这个协议可以用来访问网络。

最常见的模式和协议如下:

  • http-超文本传输协议资源;
  • https-用安全套接字层传送的超文本传输协议;
  • ftp-文件传输协议;
  • mailto-电子邮件地址;
  • file-当地电脑或网上分享的文件;
  • telnet-telnet协议;
  • idap-轻型目录访问协议搜索;
  • news-Usenet新闻组;
  • gopher-Gopher协议。

 

服务器名称/IP地址

文件所在的服务器的名称或IP地址,后面是到达这个文件的路径和文件本身的名称。服务器的名称或IP地址后面有时还跟一个冒号和一个端口号。

如安装Tomcat服务器并启动后,测试Tomcat安装是否成功时,可以先启动Tomcat,然后再在地址栏中输入:http://localhost:8080。这里8080就是Tomcat的默认端口号。

时间: 2024-10-10 03:57:51

Web开发基础之“网络协议”的相关文章

web开发基础之HTTP协议

HTTP协议 HTTP协议简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网的数据通信的基础. HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)所发起.HTTP的标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组(Internet Engineering Task Force,IETF)进行协调,最终

web开发基础--字节序

1.有效位 在谈字节序前需要先了解有效位,有效位分为两种:最低有效位(LSB: Least Significant Bit) 和最高有效位(MSB:Most Significant Bit).在二进制数中,LSB是最低加权位,与十进制数字中最右边的一位类似:MSB是最高加权位,与十进制数字中最左边的一位类似.通常,MSB位于二进制数的最左侧,LSB位于二进制数的最右侧.以一个十进制的数12345678为例,最高有效位就是1,最低有效位就是8. 2.字节序: 字节序,顾名思义字节的顺序,就是大于一

浏览器---WEB开发基础之三

通过HTTP协议的介绍,打开网页必须建立TCP连接,然后通过HTTP协议进行交互,因此,浏览器访问网址,第一件事就是建立TCP连接,但是TCP连接是基于IP的,而我们输入的却是网址,所以,实际上第一件事,应该是通过DNS去查找网址(也就是域名)对应的主机的IP,然后才是三次握手建立TCP连接(此处知识详见<计算机网络基础>),然后浏览器向服务器发送: GET HTTP://www.baidu.com HTTP/1.1  Accept: application/x-ms-application,

网络基础之网络协议

一.客户端/服务器架构 即C/S架构,包括 1.硬件C/S架构(打印机) 2.软件C/S架构(web服务) 美好的愿望: 最常用的软件服务器是 Web 服务器.一台机器里放一些网页或 Web 应用程序,然后启动 服务.这样的服务器的任务就是接受客户的请求,把网页发给客户(如用户计算机上的浏览器),然 后等待下一个客户请求.这些服务启动后的目标就是"永远运行下去".虽然它们不可能实现这样的 目标,但只要没有关机或硬件出错等外力干扰,它们就能运行非常长的一段时间. 生活中的C/S架构: 学

PHP 系列:PHP Web 开发基础

PHP是动态类型的Web开发的脚本语言,PHP以页面文件作为加载和运行的单元,PHP现在有了Composer作为开发包管理. 1.使用Composer管理依赖 自从.NET开发用了Nuget管理程序集依赖,我就再也离不开它了,幸亏Java中也有Maven管理jar包,虽然开源中国的镜像太慢但还有ibiblio的镜像可用,PHP现在终于有了Composer(参考1)用来管理资源包. (1)全局安装(参考2) 在指定安装目录中执行命令行: php -r "readfile('https://getc

网络基础之网络协议篇

  一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在"裸机"上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行. 注:计算机(硬件)->os->应用软件 二.网络通信原理 2.1 互联网的本质就是一系列的网络协议 一台硬设有了操作系统,然后装上软件你就可以正常使用了,然而你也只能自己使用 像这样,每个人都拥有一台自己的机器,然而彼此孤立 如何能大家一起玩耍 然而interne

Web开发中的网络知识(应用层)

一.网络分层 二.应用层协议--HTTP.DNS和SSH 2.1 http协议 1. 定义:超文本传输协议( Hyper Text Transfer Protocol ),是用于传输诸如HTML的超媒体文档的应用层协议.它被设计用于Web浏览器和Web服务器之间的通信,但也可以用于其它目的. HTTP遵循经典的客户端-服务端模型,客户端打开一个连接以发出请求,然后等待收到服务器端的响应. HTTP是无状态协议,意味着服务器不会在两个请求之间保留任何数据(状态).虽然通常基于TCP / IP层,但

Web开发基础

一.HTML 1.HTML==HyperText Markup Language 2.由服务器返回,由浏览器呈现 Web应用程序一般是由客户端和服务器组成 对于我们而言这个客户端就是浏览器(Chrome.Firefox等) 这个服务器就是HTTP服务器(Apache.Tomcat等) 一段HTML代码,可以是存放在HTTP服务器上的一个HTML文件 也可以是通过PHP.ASP.JSP等动态脚本语言动态生成并返回给客户端的 当浏览器接收到HTTP服务器的响应之后,会对接收到的HTML代码进行解析并

Java Web开发基础(3)-JSTL

在DRP项目中接触到了JSTL标签库,对我这样的比較懒的人来说,第一感觉就是"惊艳". JSTL标签库的使用.能够消除大量复杂.繁复的工作.工作量降低的不是一点半点.是降低了一大半.不论什么工具的引入,都会使我们的工作变的简单.可是问题是我们工作能够变的简单,可是我们不能让自己的大脑变的简单.所以,我们不是简单的会用就能够.我们还须要了解这个工具是怎样工作的.怎样为我们提供便利的.ok.以下进入正题,我们从问题開始-- JSP脚本带来的问题 不知道看到这几个子,各位有什么想法?反正我认