HTTP是什么?
来源:互联网 发布:java取list第一个元素 编辑:程序博客网 时间:2024/05/21 07:56
- HTTP是什么?
我们见过的大多数网站可能都是“WWW”开头的,但是一个完整的地址是这样的:http://www.baidu.com/
HTTP的全称是HyperText Transfer Protocol(超文本传输协议),超文本是一种带有链接的文本,而传输协议是一种获取一些东西从一个地方到另一个地方的规则,这些规则是为了传输页面到你的浏览器。
- 客户端和服务端的关系
我们可以使用HTTP去抓取互联网上的任意网页上的信息,这些网页是来着互联网上的其他计算机,而这些计算机就是我们所谓的服务器。
互联网上到处都是客户端和服务器,客户端请求一些资源,例如网页、文件等等,服务器储存了这些信息,当你生成一个HTTP请求,这请求将通过互联网找到那个可以执行该请求的服务器,然后服务器会发生一个响应返回给你。
- REST
REST(Representational State Transfer)是一种具体状态传输,事实上,客户端与服务器的关系是REST的先决条件。
那什么是状态传输呢?你可以通过点击链接穿梭在一个网站中,因此你就制造了一次次的状态传输,每次都将带你到下一个页面,这个页面也就代表了应用程序的下一个状态。
当一些东西遵循了REST的规则,那么我们就称之为RESTful
- RESTful API
API(application programming interface),是一种代码协议,它是一种特定的方法,用于一个程序与一个应用程序的交互
一个RESTful的API或者Web服务是要满足以下3点的:
-
- 客户端与服务器的分离
- 请求与请求之间是不保留状态的
- 使用HTTP和HTTP方法
- Request 请求
请求的四种动作:
-
- GET:从特定的源获取信息
- POST:发送新的信息去特定的源
- PUT:更新特定源的现有信息
- DELETE:删除特定源上的现有信息
HTTP请求的组成:
-
- request line:告诉服务器是哪一种请求正在发生和寻找的资源是什么
- header:发送给服务器的附加信息,例如是哪个客户端发出的请求
- body:在GET请求中可以是空的,在POST和PUT的请求中包含了数据
- Response 响应
一次对服务器成功请求的结果被包含在一个响应中,这个响应是服务器返回给客户端的一个消息。这个来自服务器的响应包含了一个3位数字的状态代码(HTTP Status Codes)。这些代码是由1、2、3、4、5开头的。( http://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81)
五种状态代码:
-
- 1xx:服务器正在执行你的请求
- 2xx:服务器响应成功
- 3xx:这类状态码代表需要客户端采取进一步的操作才能完成请求,通常需要重定向
- 4xx:客户端错误
- 5xx:服务端错误
HTTP响应的组成:
-
- response line:包含了HTTP状态代码
- header:包含了关于服务器和这个响应的信息
- body:响应的内容
- 数据格式
-
- XML(Extensible Markup Language)可扩展标记语言
<pet> <name>Jeffrey</name> <species>Giraffe</species></pet>
-
- JSON(Java Script Object Notation)JS对象符号
通常JSON和XML是二选一的,JSON的数据格式很类似于JavaScript的对象
{ "pets": { "name": "Jeffrey", "species": "Giraffe" }}
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- HTTP是什么?
- HTTP是什么?
- http是什么
- HTTP协议是什么
- HTTP协议是什么
- HTTP协议是什么
- http://tempuri.org 是什么?
- HTTP协议是什么?
- HTTP协议是什么?
- HTTP协议是什么
- http协议是什么?
- http协议是什么?
- TIME_WAIT是什么?http连接
- http协议是什么
- 宽带http代理服务器[adslhttpproxy] 是什么
- 什么是HTTP?Ping命令是什么?
- http和ftp和www 是什么?
- Android中的http://tempuri.org 是什么?
- Image文件
- 华为的冬天
- 【Anaesthesia】Maximilian Hecker强烈推荐
- Exported service does not require permission警告
- OAuth(开放授权)
- HTTP是什么?
- tomcat部属项目时报错:An internal error occurred during Add Deployment.java.lang.NullPointerException
- Mac 在vmware中更改分辨率
- tcp-server
- android开发之TabHost分页标签使用案例(带滑动效果)
- 【一天一道兼容性】之——IE、FF、Chrome下的表单重定向的挂起
- String和StringBuffer的区别
- Java中byte转换int时与0xff进行与运算的原因
- python + django + pydev +eclipse 搭建网站开发环境