20190225——HTTP

HTTP协议(Hyper Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的协议,所有的WWW文件都必须遵守这个标准。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件、图片文件、查询结果)


HTTP工作原理
Http协议工作于客户端-服务端架构上。浏览器作为http客户端通过URL向HTTP服务器即WEB服务器发送所有请求。
Web服务器有:Apache服务器,IIS服务器
Web服务器根据接收到的请求后,向客户端发送信息。
Http默认端口号80,但是你也可以改为8080端口或者其他端口。

Http三点注意事项:
Http是无连接,限制每次连接只处理一个请求,服务器处理完客户端的请求,并收到客户的应答后,即断开连接,采用这种方式可以节省运输时间。
Http是媒体独立的,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送,客户端以及服务器指定使用适合的MIME-type内容
Http是无状态的,无状态指协议对于事务处理没有记忆功能,缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量巨大,另一方面,在服务器不需要先前信息时它应答的就快。

在这里插入图片描述


Http消息结构
HTTP是基于客户端/服务端的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。
一个HTTP 客户端是一个应用程序(Web浏览器或其他客户端),通过链接到服务器达到向服务器发送一个或者多个HTTP的请求的目的。
一个HTTP服务器也同样是一个应用程序(通常是一个web服务,如Apache Web服务器),通过接受客户端的请求并向客户端发送HTTP响应数据。
HTTP使用统一资源标识符(URL)来传输数据和建立连接。


客户端请求消息
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line )、请求头部( header)、空行和请求数据四个部分。

在这里插入图片描述


服务器响应消息
Http响应也由四个部分构成,分别是:状态行、消息报头、空行和响应正文。
在这里插入图片描述


http请求方法
根据Http标准,http请求可以使用多种方法
1.0定义了三种请求方法:GET和POST和HEAD方法
1.1新增了五种请求方法:OPTIONS PUT DELETE TRACE CONNECT方法


响应头信息


Http状态码
当浏览者访问一个网页时,浏览者的浏览器会向网页所在的服务器发送请求,当浏览器接收并显示网址前,此网页所在的服务器返回一个HTTP状态码的信息头(server head)用以响应浏览器的请求。

Http状态码的英文是HTTP status code

200请求成功
301资源(网页)被永久转移到其他URL
404请求的资源(网页)不存在
500内部服务器错误代码

Http状态码分类
Http状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用,Http状态码一共分为6种。
1** 信息, 服务器收到请求,需要请求者继续执行操作。
2** 成功,操作被成功接收处理
3** 重定向,需要进一步的操作以完成请求
4** 服务端错误,请求包含语法错误或者是无法完成请求。
5** 服务器错误,服务器在处理请求的时候发生了错误。

猜你喜欢

转载自blog.csdn.net/qq_36344771/article/details/87910861