HTTP协议(一)

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW)服务器传输超文本到本地浏览器的传送协议。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)。

HTTP协议的特点

  • 简单快速: 客户想服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度快。
  • 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型有Content-Type加以标记。
  • 无连接:限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应到后,即断开连接。采用这种方式可以节省传输时间。
  • 无状态:HTTP协议是一种无状态的协议。指的是协议对于事务处理没有记忆能力,缺少状态
    意味着,如果后续处理需要前面的信息,则需要重新传递,这样可能导致每次链接传送的数据量大。另一方面,在服务器不需要先前信息时它的应答就较快。
  • 支持B/S及C/S模式

HTTP请求的7个过程

1、建立TCP连接
2、Web浏览器向Web服务器发送请求命令
3、Web浏览器发送请求头信息
4、Web服务器应答
5、Web服务器发送应答头信息
6、Web服务器向浏览器发送数据
7、Web服务器关闭TCP连接

HTTP请求的组成部分

一个HTTP请求一般由四个部分组成
1、HTTP请求的方法或动作,比如GET,POST
2、请求地址
3、请求头:包含一些客户端环境信息,身份验证信息等
4、请求体:也就是请求正文,请求正文中可以包含客户提交的查询字符串信息,表单信息等等

HTTP请求之GET请求

GET /562f25980001b1b106000338.jpg HTTP/1.1
Host img.mukewang.com
User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Accept image/webp,image/,/*;q=0.8
Referer http://www.imooc.com/
Accept-Encoding gzip, deflate, sdch
Accept-Language zh-CN,zh;q=0.8

第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本

GET 说明请求类型为GET

/562f25980001b1b106000338.jpg 为要访问的资源

HTTP/1.1 说明使用的是HTTP1.1版本

第二部分:请求头部,紧接着请求行之后的部分,用来说明服务器要是用的附加信息
从第二部分起,为请求头部。

HOST:将指出请求的目的地

User-Agent:服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础.该信息由你的浏览器来定义,并且在每个请求中自动发送等等

第三部分:空行,请求头部后面的空行是必须的

即使第四部分的请求数据为空,也必须有空行。

第四部分:请求数据也叫主体,可以添加任意的其他数据。

这个例子的请求数据为空。

HTTP请求之POST请求

POST / HTTP1.1
Host:www.wrox.com
User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Content-Type:application/x-www-form-urlencoded
Content-Length:40
Connection: Keep-Alive

name=Professional%20Ajax&publisher=Wiley

第一部分:请求行,第一行明了是post请求,以及http1.1版本。
第二部分:请求头部,第二行至第六行。
第三部分:空行,第七行的空行。
第四部分:请求数据,第八行。

GET请求与POST请求之间的区别

GET:一般用于信息的获取、使用URL传递参数、对所发送的信息的数量也有限制,一般在2000个字符

POST:一般用于修改服务器上的资源、对所发送信息的数量无限制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值