HTTP协议

HTTP简介

HTTP定义

HTTP协议:超文本传输协议,用于从万维网服务器传输超文本到本地浏览器的传送协议,基于TCP/IP通信协议传递数据,属于应用层的面向对象协议,工作于客户端-服务端架构上。浏览器作为客户端向服务器通过URL发送请求,服务器收到请求后,向客户端发送响应信息。

特点

1.简单快速:客户端向服务器发送请求时,只需传送请求方法和路径。
2.灵活:Http允许传输任意类型的数据对象,正在传输的类型由Content-Type加以标记。
3.无连接:即限制每次连接只处理一个请求,服务器处理完客户端的请求,并受到客户端的应答后,立即断开连接,节省传输时间。
4.无状态:即对事物的处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,必须重传。
5.支持C/S及B/S模式。

URL

定义

URL:统一资源定位符,是互联网上用来标识某一资源的地址。

构成

这里写图片描述

HTTP请求消息Request

客户端向服务器发送一个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

第一部分:请求行,请求方法(Get)+空格+URL+空格+协议版本(HTTP/1.1)+回车符+换行符
第二部分:请求头部:头部字段名·:值
第三部分:空行
第四部分:请求数据,这里为空

HTTP响应消息Response

主要组成包括:状态行,消息报头,空行,响应正文

构成

这里写图片描述

栗子

HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8

第一部分:状态行,由协议版本号,状态码,状态消息三部分构成
第二部分:消息报头,头部字段名:值
第三部分:空行
第四部分:响应正文,服务器返回给客户端的信息

HTTP方法

方法说明支持HTTP协议版本
Get获取资源,返回实体主体1.0 /1.1
Post传输实体主体,数据包含在请求正文中1.0/1.1
PUT客户端向服务器传送的数据取代指定文档的内容1.0/1.1
HEAD获得报文头部1.0/1.1
DELETE请求服务器删除指定页面1.0/1.1
LINK建立与资源间的联系1.0
UNLINK断开与资源间的联系1.0
OPTIONS允许客户端查看服务器性能1.1
TRACE回显服务器收到的请求,主要用于测试和诊断1.1
CONNECT要求使用管道方式连接代理服务器1.1

HTTP状态码

名称类别原因短语
1xx信息性状态码请求已接收正在处理
2xx成功状态码请求已接收,理解,接受,处理完毕
3xx重定向状态码完成请求必须进行更进一步操作
4xx客户端错误请求有语法错误或请求无法实现
5xx服务器端错误服务器未能实现合法的请求

常见状态码

200 OK :客户端发来的请求被正确处理
204 No Content :表名请求被正确处理,但响应信息无响应正文
206 Partial Content:该状态码表示客户端对服务器进行了范围请求,而且服务器成功的执行了这部分GET请求,响应报文中包含由Content-Range指定的实体内容范围。
301 Moved Permanently:永久性重定向,只跳转一次,该状态码表示请求的资源已经被分配到了新的URI,之后将使用新的URI
302 Found:临时重定向,每次访问都需跳转
400 Bad Request:请求报文存在语法错误,需修改内容重新发布
403 Forbidden:请求的资源被服务器拒绝,服务器没必要给出详细理由
404 Not Found:服务器上没有请求的资源、
500 Internal Server Error:服务器端执行过程发生故障,web自身存在bug
503 Server Unavailable:服务器端处于超负载状态,无法处理请求

HTTP工作原理

HTTP协议定义web客户端如何从web服务器请求web页面,以及服务器处理请求后如何将web页面传输送给客户端。采用了请求/响应模式,客户端向服务器发送一个请求报文,包括请求行(请求方法,URL,协议版本),请求报头,空行,请求正文,服务器端收到请求后进行处理发送响应报文给客户端,包括状态行(协议版本,状态码,状态消息),响应报头,空行,响应正文。

步骤

1.客户端连接到Web服务器
2.客户端发送HTTP请求
3.服务器接收请求并处理返回响应
4.释放TCP连接
5.客户端解析服务器端返回的HTML内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值