简单理解HTTP协议

众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP、Archie Gopher等是建立在TCP/IP协议之上的应用层协议,不同的协议对应着不同的应用。

WWW服务器使用的主要协议是HTTP协议,即超文体传输协议。由于HTTP协议支持的服务不限于WWW,还可以是其它服务,因而HTTP协议允许用户在统一的界面下,采用不同的协议访问不同的服务,如FTP、Archie、SMTP、NNTP等。另外,HTTP协议还可用于名字服务器和分布式对象管理。

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

HTTP协议的主要特点可概括如下:

1.支持客户/服务器模式。

2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Network/basis/

时间: 2024-11-16 04:56:25

简单理解HTTP协议的相关文章

【Http协议】深入理解HTTP协议

来源:http://www.blogjava.net/zjusuyong/articles/304788.html 深入理解HTTP协议 1. 基础概念篇 1.1 介绍   HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 194

简单邮件传输协议SMTP封装类

在Internet上,Email是最流行的传输媒体.这篇文章包括两个协议:. POP 3 协议: POP3协议(邮政传输协议)就是指从Email服务器接收信件.我已经提交了一个封装POP3协议的类.该协议官方的描述你可查阅RFC1225. SMTP协议: SMTP (简单邮件传输协议) 指发送邮件到它的目的地. 有关SMTP 协议的细节你可参考RCF 821 .我最新地贡献是封装了SMTP协议.我不能完全实现 SMTP协议但你可用它在许多应用场合发送邮件.该类有若干方法,我选方法名同SMTP命令

在实践中深入理解IP协议

0.说明         TCP/IP协议栈其实当然不止有TCP和IP两个协议,但以这两个协议作为这个协议栈的统称,足以体现出其在TCP/IP协议栈中的重要性,正是因为有了IP协议,才使得不同网络间可以进行通信.当然要提及IP协议,其实还需要分析与其相关的配套协议,如ICMP.IGMP.ARP,这些协议与IP协议的关系可如下:         不过这里我们只关注于IP协议中的各个字段内容,其它的协议分析可以参考本专题博客文章.         下面就来结合搭建的网络环境,通过一些手段来深入理解I

图解HTTP学习笔记——简单的HTTP协议

简单的HTTP协议 前言 最近在学习Web开发的相关知识,发现<图解HTTP>这本书通俗易懂.所以花时间学习这本书,并记录下学习笔记. 如上图,我们每天都在浏览网页,一般我们都是在浏览器地址栏输入要访问的网站的地址(如百度),按下回车,浏览器就显示了我们要访问的网站的网页. 那么在我们敲下回车键的那一刻,究竟发生了什么呢.通过今天的学习,能大致了解其中原理,并简单学习HTTP协议. 目录 1.客户端与服务器端2.HTTP是不保存状态的协议3.请求URI定位资源4.告知服务器意图的HTTP方法5

golang实现简单的udp协议服务端与客户端示例_Golang

本文实例讲述了golang实现简单的udp协议服务端与客户端.分享给大家供大家参考,具体如下: 其实udp没有什么服务端和客户端的概念了,只是一个发一个收而已,只是这样较方便能识别和理解. 服务端: 复制代码 代码如下: package main import (     "fmt"     "net" ) func main() {     // 创建监听     socket, err := net.ListenUDP("udp4", &am

SMTP简单邮件传输协议

SMTP:简单邮件传输协议(Simple Mail Transfer Protocol) SMTP 是一种提供可靠且有效电子邮件传输的协议. SMTP 是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知. SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持. SMTP 重要特性之一是其能跨越网络传输邮件,即"SMTP 邮件中继".通常,一个网络可以由公用互联网上 TCP 可相互访问的主机.防火墙分隔的 TCP/IP 网络上

委托/事件/线程传参简单理解

写了很多代码,但几乎都没写过委托/事件/线程传参方面应用的代码 因此自己总很容易理解后又遗忘 今天又重温了一下 因此以最简单的方式的代码方式写下来帮助理解 1.线程传参[简单几行代码]    1 static void Main(string[] args) 2         { 3             if (ThreadPool.QueueUserWorkItem(new WaitCallback(Program.WritePara), "这是传进去的参数")) 4     

Javascript闭包简单理解

原文:Javascript闭包简单理解 提到闭包,想必大家都早有耳闻,下面说下我的简单理解.说实话平时工作中实际手动写闭包的场景并不多,但是项目中用到的第三方框架和组件或多或少用到了闭包.所以,了解闭包是非常必要的.呵呵... 一.什么是闭包简而言之,就是能够读取其他函数内部变量的函数.由于JS变量作用域的特性,外部不能访问内部变量,内部可以外部变量. 二.使用场景1. 实现私有成员.2. 保护命名空间,避免污染全局变量.3. 缓存变量. 先看一个封装的例子: var person = func

高手求救~~~~~编程实现简单的IP协议分析器

问题描述 设计题目编程实现简单的IP协议分析器已知技术参数和设计要求1.利用原始套接字实现简单的IP协议分析器.2.系统功能包括:2.1原始套接字与网卡邦定,并接收流经网卡的所有数据包:2.2对IP数据包进行分析以获得源IP地址和目的IP地址:2.3对IP数据报进行分析以获得其首部详细信息:2.4显示分析结果3建议使用VC++设计内容与步骤1.学习原始套接字编程的基本机制:2.学习对数据包进行协议分析的基本方法.3.设计简单IP协议分析器的基本框架.4.设计并实现简单的IP协议分析器.5.课程设