目录

1、HTTP协议

2、FTP协议

3、TELNET协议

4、NFS协议

1、HTTP协议

应用层协议HTTP协议是Web的核心。HTTP协议在Web的客户程序和服务器程序中得以实现,运行在不同系统上的客户程序和服务器程序通过交换HTTP消息彼此通信。HTTP协议定义数据格式,使得服务器和客户端通过协议进行数据交流。

客户端和服务器交流的基本内容:Web页面(web page,也称为文档)。

Web页面由多个对象构成,对象(object)是可由URL进行寻址的文件,例如HTML文件、JPG图像、Java小应用程序、语音片段等。

Web页面大多数由一个基本的HTML文件和很多HTML文件中所引用的对象构成。这个基本的HTML文件使用文件中的内置URL来引用本页面中所使用的其他对象。

一个URL由两部分构成:存放该对象的服务器主机名和该对象的路径名。例如,在如下的URL中:

HTTP建立在TCP协议基础之上,其默认端口是TCP协议的80端口。

HTTP协议的基本过程:

 

2、FTP协议

FTP(File Transfer Protocol),是一种从一个主机向另一个主机传送文件的协议。

FTP协议也是建立在TCP协议之上,但与HTTP协议有很大的差别,最主要的是FTP协议使用两个并行的TCP连接来传送文件,一个是控制连接,另一个是数据连接。

控制连接用于在客户端和服务器端之间传送控制信息(通常称之为FTP的带外数据,即控制信息是不包含在FTP协议的数据连接之中的),例如用户名和密码、改变目录、上传或下载文件的命令等。

数据连接用于真正收发数据。

FTP协议的工作模式分为主动模式和被动模式,二者主要区别在于对数据端口的处理方式不同:主动模式在客户端连接后,告诉服务器数据连接的端口;被动模式在客户端连接后,进行数据传输的时候临时连接FTP服务器的20端口,利用此端口进行数据的传输。

FTP协议的传输方式:ASCII传输模式和二进制传输模式。二者的区别主要在于是否对数据进行了解释。ASCII模式会对数据进行解释;二进制模式则逐位一一复制。

3、Telnet协议

Telnet协议是最早出现的远程登录协议之一,使用Telnet协议可以在本机上登录到远程的计算机上进行一些操作。

远程登录是指用户使用telnet命令,使自己的计算机暂时成为远程主机的一个仿真终端的过程。

关于telnet的配置和使用可参考http://www.cnblogs.com/nufangrensheng/p/3488122.html

4、NFS协议

NFS协议是一种用于文件共享的协议,它可以使得主机之间进行文件的共享。客户端可以像在本机上的文件一样操作远程主机的文件。

NFS协议是一个十分简单的协议,它本身没有提供信息传输的协议和功能。之所以NFS能够让主机之间通过网络进行资料共享,这是因为NFS使用了一些其他传输协议,主要用到了RPC(Remote Procedure Call)功能。所以在启动NFS服务器的时候需要启动RPC服务

关于NFS服务器配置可参考http://www.cnblogs.com/nufangrensheng/p/3486839.html

UNIX/Linux网络编程基础:应用层协议简介的更多相关文章

  1. UNIX/Linux网络编程基础:图解TCP/IP协议栈

    目录 1.主机到网络层协议:以太网协议 2.IP协议 3.网际控制报文协议(ICMP) 4.传输控制协议(TCP) 5.用户数据报文协议(UDP) 6.流控制传输协议(SCTP) 7.地址解析协议(A ...

  2. 服务器编程入门(4)Linux网络编程基础API

      问题聚焦:     这节介绍的不仅是网络编程的几个API     更重要的是,探讨了Linux网络编程基础API与内核中TCP/IP协议族之间的关系.     这节主要介绍三个方面的内容:套接字( ...

  3. Linux 高性能服务器编程——Linux网络编程基础API

    问题聚焦:     这节介绍的不仅是网络编程的几个API     更重要的是,探讨了Linux网络编程基础API与内核中TCP/IP协议族之间的关系.     这节主要介绍三个方面的内容:套接字(so ...

  4. 第5章 Linux网络编程基础

    第5章 Linux网络编程基础 5.1 socket地址与API 一.理解字节序 主机字节序一般为小端字节序.网络字节序一般为大端字节序.当格式化的数据在两台使用了不同字节序的主机之间直接传递时,接收 ...

  5. Linux网络编程基础API

    第5章 Linux网络编程基础API 探讨Linux网络编程基础API与内核中TCP/IP协议族之间的关系,并未后续章节提供编程基础.从3个方面讨论Linux网络API. socket地址API.so ...

  6. linux高性能服务器编程 (五) --Linux网络编程基础api

    第五章 Linux网络编程基础api 1.主机字节序和网络字节序 字节序是指整数在内存中保存的顺序.字节序分为大端字节序.小端字节序. 大端字节序:一个整数的高位字节数据存放在内存的低地址处.低位字节 ...

  7. linux 网络编程 基础

    网络编程基础 套接字编程需要指定套接字地址作为参数,不同的协议族有不同的地址结构,比如以太网其结构为sockaddr_in. 通用套接字: struct sockaddr { sa_family_t ...

  8. linux网络编程基础--(转自网络)

    转自 http://www.cnblogs.com/MyLove-Summer/p/5215287.html Linux下的网络编程指的是socket套接字编程,入门比较简单. 1. socket套接 ...

  9. Linux网络编程基础

    1. Linux网络模型 ① OSI七层模型和Linux四层模型 ② 各种协议之间的关系及在Linux模型中的位置 ③ 协议封装:各种协议处于一种层层封装的关系 (1)Ethernet (2)IP * ...

随机推荐

  1. ubuntu ip

    一.使用命令设置Ubuntu IP地址 1.修改配置文件blacklist.conf禁用IPV6 sudo vi /etc/modprobe.d/blacklist.conf 在文档最后添加 blac ...

  2. 25个完美的Opencart模板,让顾客无法抗拒!

    在线开展业务是当前的流行趋势.OpenCart(点击这里下载),作为一个流行的开源PHP电子商务系统,获取OpenCart模板不在像以前那么困难了.OpenCart容易安装,模板支持良好,扩展功能包十 ...

  3. Mysql的AB复制(主从复制)原理及实现

    Mysql复制(replication)是一个异步的复制,从一个Mysql 实例(Master)复制到另一个Mysql 实例(Slave).实现整个主从复制,需要由Master服务器上的IO进程,和S ...

  4. LINQ标准查询操作符(五)

    十二.相等操作符 如果两个序列的对应元素相等且这两个序列具有相同数量的元素,则视这两个序列相等. SequenceEqual方法通过并行地枚举两个数据源并比较相应元素来判断两个序列是否相等.如果两个序 ...

  5. 使用bat快速创建cocos2d-x模板

    在上一篇文章中我们学习了如何使用python创建cocos2d-x 2.2工程,但是每次我们都输入一大串的命令,好烦好烦啊.参考别人的文章这里写了一个bat,如下 @echo off echo --- ...

  6. 【多线程】Java并发编程:并发容器之CopyOnWriteArrayList(转载)

    原文链接: http://ifeve.com/java-copy-on-write/ Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容 ...

  7. Java反射机制(Class类的使用)

    1:通过无参构造实例化对象 package cn.itcast; /* * 通过无参构造实例化对象 * 通过Class类本身实例化对象,使用newInstance方法 * 需要注意的是:实例化类中存在 ...

  8. ASA与PIX的区别

    很多年来,Cisco PIX一直都是Cisco确定的防火墙.但是在2005年5月,Cisco推出了一个新的产品——适应性安全产品(ASA,Adaptive Security Appliance).不过 ...

  9. AJAX的工作原理及其优缺点

    1.什么是AJAX?AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术.它使用:使用XHTML ...

  10. (剑指Offer)面试题23:从上到下打印二叉树

    题目: 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 思路: 很明显,这是一个广度优先遍历. 需要一个队列容器来保存结点,具体操作: 1.将根结点压入队列中,并打印根结点:如果根结点有子结点 ...