HTTP协议(一)基本概念、HTTP方法、HTTP状态码
1.HTTP是什么?

它的全名叫:HyperText Transfer Protocol ,中国名字:超文本传输协议 ;
它是可靠的数据传输协议,是Internet 的多媒体信使,即使数据相隔天涯海角,它也能确保数据准确、无误的传递给彼此,这有点像快递员的工作(不过快递员可能会损坏、遗失你的东西,HTTP不会);
每天有数以亿计的web浏览器通过它获取web服务器上的HTML页面、音/视频文件、JPG图片、java小程序...等等信息。
2.客户端和服务器

HTTP客户端:你每天都在使用的各种web浏览器(IE、Google Chrome、Firefox ...and so on)
Web服务器:它是web资源的宿主,所有的web资源(静态文件或生成动态资源的软件程序)都放在web服务器里
简单的交互过程:HTTP客户端向服务器发出请求,服务器在HTTP响应中回送被请求的数据
3.HTTP传输数据的媒体类型MIME
HTTP给每种传输对象都定义了一个MIME Type的格式标签(在HTTP信息头的Connect-type属性中定义:Connect-type:text/html),浏览器从服务器获取一个对象时,会检查相关的MIME类型,看看它是否知道如何去处理这个对象。
常见的MIME类型有数百种之多,大多数浏览器都支持处理这些对象类型。
以下列举几种MIME:
HTML文本文档:text/html
JPEG图片:image/jpeg
GIF图片:image/gif
js文件:application/x-javascript
更多MIME类型请参看:http://www.w3school.com.cn/media/media_mimeref.asp
4.URI、URL、URN
URI:Uniform Resource Identifier 统一资源标识符,它是web服务器资源的名字(就像你的邮寄地址一样,有了它,在全世界都能根据定位到你并确保信件能寄到你手中)
给定了web资源的URI,HTTP就可以定位到这个web资源并解析出对象。
URI有两种形式:URL和URN
URL:Uniform Resoure Locator 统一资源定位符,它是URI最常见的一种形式(目前大家接触到的URI基本都是URL形式吧),它描述了一个特定Web服务器上某一资源的特定位置
URL标准格式包含三个部分,以URL:http://www.cnblogs.com/wolfshining/p/7921999.html 为例:
第一部分:scheme 它说明了访问资源时使用的协议类型(通常就是HTTP协议http://)
第二部分:服务器地址或域名(www.cnblogs.com)
第三部分:路径,它指向某一特定资源(wolfshining/p/7921999.html)
URN:Uniform Resource Name 统一资源名,它是URI的第二种形式,通过URN可以将资源四处搬移(因为URN没有位置),还可以用同一个名字通过多种网络协议来访问资源,URN还处于实验阶段
下图显示HTTP客户端如何通过URL精确访问web服务器某特定资源的:

5.HTTP事务
一个HTTP事务由一条HTTP客户端发往web服务器的请求命令(方法)和一个从服务器返回给客户端的响应结果组成。
发送的请求或响应结果都是通过HTTP报文的格式进行的:

6.HTTP方法与状态码
HTTP请求命令也通常叫做HTTP方法(HTTP Method),每个HTTP请求报文里都包含一个Method,这个Method告诉浏览器需要执行什么操作(是获取一个静态文件,还是删除一个文件等等)
常见的HTTP Method包含下列五种:
| HTTP 方法 | 描述 |
| GET | 从服务器向客户端发送指定的资源 |
| PUT | 将客户端发来的数据存储到指定的资源中去 |
| DELETE | 从服务器中删除指定资源 |
| POST | 将客户端发来的数据发送到一个服务器网关应用程序 |
| HEAD | 仅发送指定资源响应中的HTTP首部 |
常见的HTTP状态码:
| HTTP状态码 | 描述 |
| 1XX | 指定客户端应相应的某些动作,代表请求已被接受,需要继续处理。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。 |
| 2XX | 请求成功处理完毕。表示请求已成功,请求所希望的响应头或数据体将随此响应返回 |
| 3XX | 重定向,代表需要客户端采取进一步的操作才能完成请求,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。这系列中最常见的有301、302状态码。 |
| 4XX | 客户端错误,表示请求错误。代表了客户端看起来可能发生了错误,妨碍了服务器的处理。常见有:401、404状态码。 |
| 5XX | 服务器错误,服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。常见有500、503、502状态码。 |
HTTP协议(一)基本概念、HTTP方法、HTTP状态码的更多相关文章
- HTTP/1.1标准请求方法和状态码
HTTP/1.1标准自从1999年制定以来至今仍然是一个应用广泛并且通行的标准 相关文档 RFC2616:Hypertext Transfer Protocol -- HTTP/1.1 在RFC658 ...
- HTTP协议----请求方法和状态码
现在广泛使用的是HTTP/1.1版本,发布于1997年. 理解HTTP协议,首先从请求开始,比如: POST /form/entry HTTP/1.1 格式为: 请求方法 URI 协议版本 请求方法: ...
- HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端
协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...
- 02 http协议之方法与状态码
一:HTTP请求信息和响应信息的格式 请求: ()请求行 ()请求头信息 ()请求主体信息(可以没有) () 头信息结束后和主体信息之间要空一行 请求行又分3部分 请求方法 请求路径 所用的协议 请求 ...
- HTTP协议中request报文请求方法和状态响应码
一个HTTP请求报文由4部分组成: 请求行(request line) 请求头部(header) 空行 请求数据 下图给出了请求报文的一般格式: 请求行中包括了请求方法,常见的请求方法有: GET:从 ...
- HTTP 基础(特性、请求方法、状态码、字段)
1. HTTP 简介(含义.特性.缺点) 2. HTTP 报文 3. GET 和 POST 4. 状态码 5. HTTP 头字段 1. HTTP 简介 HTTP 的含义 HTTP (HyperText ...
- (二)http请求方法和状态码
1.HTTP请求方法 根据 HTTP 标准,HTTP 请求可以使用多种请求方法. HTTP1.0 定义了三种请求方法: GET.POST 和 HEAD方法. HTTP1.1 新增了六种请求方法:OPT ...
- HTTP协议 -- 认清协议常用状态码
HTTP协议作为web服务的基础,理所应当受到重视,但是周围的同事能够讲清楚HTTP协议的凤毛麟角.既然是基础,就应该早一点掌握,所以近半年(2016-2月——2016年6月),不准备学习新技术了.首 ...
- HTTP协议 (六) 状态码详解
HTTP协议 (六) 状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了. 如果 ...
随机推荐
- Proxmox Reset Root Password
http://c-nergy.be/blog/?p=1777 Step 1 – Boot your Proxmox VE machine. In the boot menu screen, you s ...
- 设置frameset高度
设置frameset的高度 设置frameset高度 目前做了一个项目,界面如下: 这是使用frameset做的,在宽屏下开发一直没有发现什么问题,直到一个用户使用800*600的机子测试的时候, ...
- ''TclError: no display name and no $DISPLAY environment variable''解决方法
在模块前写入一下代码: import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt 具体解释见 http://m ...
- mybatis 的查询某个字段的特定位数(模糊查询)
获取特定的几位:1.取url字段后三位字符 select SUBSTRING(url, -3) from link; 2.取url字段前三位字符 select SUBSTRING(url, 3) fr ...
- 使用ServiceDesk Plus保证及时解决问题,防止违反SLA
- 【转】centos7 搭建etcd集群
转自http://www.cnblogs.com/zhenyuyaodidiao/p/6237019.html 一.简介 “A highly-available key value store for ...
- oracle listagg within group
案例: 查看,每个人身上的标签. 1)表数据 2)SQL select name,listag(tag,',') within group(order by tag) tags from table_ ...
- 2019.01.13 loj#6515. 贪玩蓝月(线段树分治+01背包)
传送门 题意简述:有一个初始为空的双端队列,每次可以在队首和队尾插入或弹出一个二元组(wi,vi)(w_i,v_i)(wi,vi),支持询问从当前队列中选取若干个元素是的他们的和对 MODMODM ...
- 软件推荐-国内参数优化软件:1stOpt - First Optimizationg
首页:http://www.7d-soft.com/index.htm 4.0新功能 (预定2010年8月6日): 1:支持复数拟合.复数方程组计算: 2:支持微分方程拟合求解: 3:通用全局优化求解 ...
- oracle学习笔记一:用户管理(3)用户口令管理
当某个用户不断的尝试密码进行登录数据库是很危险的,因此对密码(口令)的管理十分重要.好在我们可以限制登录次数,超过某些次数的登录将会把用户锁住,隔一段时间才允许其登录,这和你的手机是不是有点一样,你的 ...