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:
Request URL:https://osu.ppy.sh/
Request Method:GET
Status Code: OK
Response Headers
cache-control:no-cache
cf-ray:254ac51bf02e13ef-LAX
content-encoding:gzip
content-type:text/html; charset=UTF-
date:Mon, Dec :: GMT
expires:Mon, Dec :: GMT
pragma:no-cache
server:cloudflare-nginx
status: OK
strict-transport-security:max-age=
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=
以上是一个HTTP消息报头,可以通过开发者选项network查看。
转载自本人ITeye链接:http://xiaozhuang0706.iteye.com/blog/2264083
HTTP协议介绍的更多相关文章
- TCP/IP 协议介绍
转自http://blog.jobbole.com/104886/ 一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应 ...
- 第二章 ZAB协议介绍
ZAB ( ZooKeeper Atomic Broadcast , ZooKeeper 原子消息广播协议)是zookeeper数据一致性的核心算法. ZAB 协议并不像 Paxos 算法那样,是一种 ...
- JSON-RPC轻量级远程调用协议介绍及使用
这个项目能够帮助开发人员利用Java编程语言轻松实现JSON-RPC远程调用.jsonrpc4j使用Jackson类库实现Java对象与JSON对象之间的相互转换.jsonrpc4j包含一个JSON- ...
- [转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
[转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls) http://blog.csdn.net/tttyd/article/details/12032357 RTP ...
- Python基础教程之udp和tcp协议介绍
Python基础教程之udp和tcp协议介绍 UDP介绍 UDP --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议.UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但 ...
- 常用音频协议介绍&&有关音频编码的知识与技术参数
(转载)常用音频协议介绍 会议电视常用音频协议介绍及对比白皮书 一.数字化音频原理:声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线.通常人耳可以听到的频率在20 ...
- 各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT_转
转自:各种开源协议介绍 BSD.Apache Licence.GPL V2 .GPL V3 .LGPL.MIT 现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的 ...
- OSPF协议介绍及配置 (上)
OSPF协议介绍及配置 (上) 一.OSPF概述 回顾一下距离矢量路由协议的工作原理:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加 ...
- VRRP协议介绍--转
http://www.cnblogs.com/jony413/articles/2697404.html VRRP协议介绍 参考资料: RFC 3768 1. 前言 VRRP(Virtual Rout ...
- SNMP协议介绍
SNMP协议介绍 一.什么是SNMP SNMP:“简单网络管理协议”,用于网络管理的协议.SNMP用于网络设备的管理.SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了 “读”操作:管理 ...
随机推荐
- SqlService 索引原理
索引的概念 索引的用途:我们对数据查询及处理速度已成为衡量应用系统成败的标准,而采用索引来加快数据处理速度通常是最普遍采用的优化方法. 索引是什么:数据库中的索引类似于一本书的目录,在一本书中使用目录 ...
- MySQL基础语句与其在Python中的使用
一.MySQL基础语句 $ mysql -u root -p (有密码时) $ mysql -u root (无密码时) QUIT (or \q) 退出 查看当前所有数据库 show dat ...
- 从数据库读取二进制图片,img标签显示图片
引自 http://www.w3dev.cn/article/20110214/asp-net-csharp-image-base64-change.aspx <img src=&qu ...
- 1293: [SCOI2009]生日礼物
1293: [SCOI2009]生日礼物 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1096 Solved: 584[Submit][Statu ...
- conky 1.10以后的新配置格式
包装 config conky.config = { ... } 包装 TEXT conky.text = [[ ... ]] 每个 config 选项的变量和取值之间插入 "=" ...
- 关于easyUI的datebox加失去焦点事件即click、blur等
想实现日期框easyui-datebox手动输入值,手动输入失去焦点判断输入值是否合法 例如<input id="txtDate" type="text" ...
- 两种构造 String 的方法效率比较
直接上代码吧: package mm_test; /** * @Function: TODO ADD FUNCTION. <br/> * @Date: 2016年4月14日 下午8:25: ...
- (20)IO流之SequenceInputStream 序列流
序列流,对多个流进行合并. SequenceInputStream 表示其他输入流的逻辑串联.它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直 ...
- @RequestParam--SpringMVC 注解系列文章(一)
概述 RequestParam 注解是使用 SpringMVC 开发过程中,比较常用的一个注解,用于映射请求参数. 代码 package rex.springmvc.handlers; import ...
- linux系统和Windows系统共存
最近接触了linux系统,因为对linux系统一直存在一种敬畏之心,所以决定研究研究 那么今天我在这里呢是要和大家分享一下在Windows存在的情况下安装双系统linux 那么第一步呢,就是斤BIOS ...