`

网络基础与协议入门——(1)HTTP协议重点

 
阅读更多

1. 概述

HTTP是超文本传输协议,由万维网协会和Internet工作组合作发展,其中著名的RFC2616协议是HTTP协议的核心。


2. 用户代理

HTTP用户的客户端,一般被称为用户代理,即user agent。


3. 源服务器

HTTP服务器端,一般被称为源服务器,即origin server。


4. 传输

HTTP协议所实现的,就是用户代理和源服务器之间的传输,期间可能经过网管、代理、反向代理等,比较复杂。但基本原理比较简单,是CS模型。


5. HTTP协议是应用层的

我们都知道最通用的网络五层模型中,由下到上分别是:物理层、链路层、网络层、传输层、应用层。IP协议是网络层的,TCP和UDP是传输层的,HTTP是应用层的。由于网络层的透传特性,我们只需要考虑HTTP与传输层的契合,以及HTTP对等的两端的逻辑,其他的不需考虑。


6. HTTP协议使用TCP协议

HTTP协议使得用户在打开网页时,需要按照顺序传送很多数据,TCP协议提供传输控制,可以组织数据的顺序并就正常错误,而UDP不能做到。


7. 如何识别请求的是什么?

HTTP或HTTPS协议请求的资源,采用URI(Uniform Resource Identifiers,统一资源标识符)来标识。


8. HTTP请求方法

HTTP/1.1协议中提供了8中HTTP方法,分别是GET、POST、PUT、DELETE、TRACE、CONNECT、HEAD、OPTIONS。

GET:向指定的资源,发起一般请求。该请求不会改变HTTP服务器上的资源。

POST:向指定的资源,发起处理请求。该请求会改变HTTP服务器上的资源。

PUT:向指定的资源,上传其最新内容。

DELETE:发起删除指定资源的请求。

TRACE:回显服务器收到的请求,用于测试。

注意方法是大小写敏感的,如果对某个指定的资源所发起的请求,并不被这个资源所支持,则返回405状态码(Method Not Allowed)。


9. HTTP状态码

1XX:消息。请求已被服务器接收,继续处理。

2XX:成功。请求已成功被服务器接收、理解并接受。

3XX:重定向。需要后续操作才能完成这一请求。

4XX:请求错误。请求含有词法错误或无法被执行。

5XX:服务器错误。服务器在处理某个正确请求时发生错误。


200:OK。

403:服务器理解请求,但是拒绝执行。

404:Not found。请求的资源在服务器未被发现。

405:资源不支持方法。

500:Interval server error。服务器内部错误。

501:Not implemented。无法识别方法/方法不被支持。

502:Bad gateway。适用于网关或代理服务器,标识上游的服务器响应无效。


10. HTTP版本

0.9 已经不再使用,只有GET一种方法。不指定版本号和请求头。

1.0 第一个指定版本号的HTTP协议版本,至今仍在广泛使用,尤其是在代理服务器中。

1.1 当前的版本,默认采用持久连接。

分享到:
评论

相关推荐

    Android编程入门很简单.(清华出版.王勇).part1

    本书配带1张光盘,收录了重点内容的教学视频(8.7小时多媒体教学视频)和本书涉及的所有源代码。 目录: 第1篇入门必备 第1章初识Android 1.1手机发展简史 1.1.1手机发展的里程碑 1.1.2Android的各个版本 1.2开放手机...

    SQL.Server.2008编程入门经典(第3版).part1.rar

    《SQL Server 2008编程入门经典(第3版)》由浅入深逐步介绍了SQL Server数据库的高级主题,重点讨论了SQL Server 2008的特殊功能以及与其他编程环境的不同之处。作者Robert Vieria是Microsoft SQL,Server方面的权威...

    Android编程入门很简单.(清华出版.王勇).part2

    本书配带1张光盘,收录了重点内容的教学视频(8.7小时多媒体教学视频)和本书涉及的所有源代码。 目录: 第1篇入门必备 第1章初识Android 1.1手机发展简史 1.1.1手机发展的里程碑 1.1.2Android的各个版本 1.2开放手机...

    SQL.Server.2008编程入门经典(第3版).part2.rar

    《SQL Server 2008编程入门经典(第3版)》由浅入深逐步介绍了SQL Server数据库的高级主题,重点讨论了SQL Server 2008的特殊功能以及与其他编程环境的不同之处。作者Robert Vieria是Microsoft SQL,Server方面的权威...

    精通Qt4编程(第二版)源代码

    \第3章 基础窗口部件——QWidget 35 \3.1 Qt设计器绘制窗口部件 35 \3.1.1 Qt设计器基础 35 \3.1.2 绘制窗口部件 40 \3.2 程序中引入自定义窗口部件 47 \3.2.1 直接使用方式 47 \3.2.2 单一继承方式 49 \...

    精通qt4编程(源代码)

    \第3章 基础窗口部件——QWidget 35 \3.1 Qt设计器绘制窗口部件 35 \3.1.1 Qt设计器基础 35 \3.1.2 绘制窗口部件 40 \3.2 程序中引入自定义窗口部件 47 \3.2.1 直接使用方式 47 \3.2.2 单一继承方式 49 \3.2.3 多...

    Reversing:逆向工程揭密

    第1章 基础 3 1.1 什么是逆向工程 3 1.2 软件逆向工程:逆向 4 1.3 逆向应用 4 1.3.1 与安全相关的逆向 5 1.3.2 软件开发中的逆向 8 1.4 底层软件 9 1.4.1 汇编语言 10 1.4.2 编译器 11 1.4.3 虚拟机和字节码 12 ...

    Windows驱动开发技术详解的光盘-part1

    第1篇 入门篇 第1章 从两个最简单的驱动谈起 本章向读者呈现两个最简单的Windows驱动程序,一个是NT式的驱动程序,另一个是WDM式的驱动程序。这两个驱动程序没有操作具体的硬件设备,只是在系统里创建了虚拟设备。...

    windows驱动开发技术详解-part2

    第1篇 入门篇 第1章 从两个最简单的驱动谈起 本章向读者呈现两个最简单的Windows驱动程序,一个是NT式的驱动程序,另一个是WDM式的驱动程序。 这两个驱动程序没有操作具体的硬件设备,只是在系统里创建了虚拟设备...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    基于SIP开发软件电话的一些资源(转自YOUTOO)

    oSIP协议栈(及eXoSIP,Ortp等)使用入门(原创更新中) (CopyLeft by Meineson | www.mbstudio.cn,原创文章,欢迎转载,但请保留出处说明!) 本文档最新版本及文中提到的相关源码及VC6工程文件请在本站找,嘿嘿...

Global site tag (gtag.js) - Google Analytics