HTTP是Hyper Text Transfer Protocol(超文本传输协议)
HTTP是基于TCP/IP通信协议来传递数据
1.HTTP工作原理
HTTP协议工作于客户端-服务端(C/S)架构上,浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求
WEB服务器有:Nginx,Apache,IIS
web服务器根据接收到的请求后,向客户端发送响应信息
HTTP默认端口号为80
2.HTTP三点注意事项:
*
HTTP是无连接:无连接的含义是限制每次连接只处理一次请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接,采用这种方式可以节省传输时间.
*
HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送,客户端以及服务器指定使用适合的MIME-type内容类型
*
HTTP是无状态的:HTTP协议是无状态协议,无状态是指协议对于事务处理没有记忆能力,缺少状态就意味着如果后续处理需要前面的信息,则他必须重传,这样可能导致每次连接和攒送的数据量增大,另一方面,在服务器不需要先前信息时他的应答就比较快
3.客户端请求消息
客户端发送一个HTTTP请求到服务器的请求消息包括以下方式 :
请求行是第一行,下边的都是请求头
4.服务器响应消息
HTTP响应也是由四个部分组成,分别是:状态行,消息报头和响应正文
5.HTTP请求方法
HTTP1.0定义了三种请求方法:GET,POST,HEAD方法
HTTP1.1新增了五种请求方法:OPTIONS,PUT,DELETE,TRACE和CONNECT方法
重点方法:
GET:单纯获取数据(获取一个index.html页面)
POST:上传/创建文件(会产生新的数据)
PUT:保存数据(覆盖/更新文件,图片,不会产生新的数据)
DELETE:删除
6.HTTP状态码(HTTP Status Code)
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发送请求,当浏览器接受并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求.
HTTP状态码分类:
HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型
常见的HTTP状态码:
*
200- 请求成功
*
301- 资源被转移到其他URL
*
404- 请求的资源不存在
*
403- 请求的网页没有权限forbidden
*
500- 内部服务器错误
*
505- 服务器不支持请求的HTTP协议的版本
所有状态码: