HTTP协议介绍
一、什么是HTTP协议呢?
超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议。
HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。
所谓HTTP就是超文本传输协议的缩写,他是万维网的基础。
二、URL
HTTP协议是通过URL来访问资源的,URL成为统一资源定位符,有时也俗称网页地址。
三、HTTP请求
HTTP请求由三部分组成,分别是:请求行、消息报头、请求正文。
HTTP请求方法有:
GET ------ 向特定的资源发出请求
POST ------ 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。 POST请求可能会导致新的资源的建立和/或已有资源的修改。
HEAD ------ 向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输 整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。
PUT ------ 向指定资源位置上传其最新内容。
DELETE ------ 删除指定资源。
TRACE ------ 回显服务器收到的请求,主要用于测试或诊断。
CONNECT ------ 保留将来使用。
OPTIONS ------ 返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送’*’的请求 来测试服务器的功能性。
四、HTTP响应
HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文。
HTTP响应状态码:
1xx:指示信息--表示请求已接收,继续处理;
2xx:成功--表示请求已被成功接收、理解、接受;
3xx:重定向--要完成请求必须进行更进一步的操作;
4xx:客户端错误--请求有语法错误或请求无法实现;
5xx:服务器端错误--服务器未能实现合法的请求;
常见的状态码:
200 : OK --- 客户端请求成功;
400 : Bad Request --- 客户端请求有语法错误,不能被服务器所理解;
401 : Unauthorized --- 请求未经授权;
403 : Forbidden --- 服务器收到请求,但是拒绝提供服务;
404 : Not Found --- 请求资源不存在;
500 : Internal Server Error --- 服务器发生不可预期的错误;
503 : Server Unavailable --- 服务器当前不能处理客户端的请求 ;
五、HTTP消息报头实例
Remote Address:141.101.112.193:443 Request URL:https://osu.ppy.sh/ Request Method:GET Status Code:200 OK Response Headers cache-control:no-cache cf-ray:254ac51bf02e13ef-LAX content-encoding:gzip content-type:text/html; charset=UTF-8 date:Mon, 14 Dec 2015 14:58:58 GMT expires:Mon, 14 Dec 2015 14:59:03 GMT pragma:no-cache server:cloudflare-nginx status:200 OK strict-transport-security:max-age=96800 version:HTTP/1.1 Request Headers :host:osu.ppy.sh :method:GET :path:/ :scheme:https :version:HTTP/1.1 accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 accept-encoding:gzip, deflate, sdch accept-language:zh-CN,zh;q=0.8 cache-control:max-age=0
以上是一个HTTP消息报头,可以通过开发者选项network查看。
转载自本人ITeye链接:http://xiaozhuang0706.iteye.com/blog/2264083