HTTP 协议

什么是HTTP协议?

HTTP是hypertext transport protocol的缩写,即超文本传输协议。 是用于万维网服务器与本地浏览器之间传输超文本的传送协议。可以使浏览器更加高效,使网络传输减少。能够保证计算机正确快速地传输超文本文档,确认传输文档中的哪一部分,以及哪部分内容首先显示等。
HTTP也就是 通信规则,通信规则规定了客户端发送给服务器的内容格式,也规定了服务器端发送给客户端的内容格式。客户端发送给服务器的格式叫做"请求协议"。服务器发送给客户端的叫做"响应协议"。

HTTP协议的特点?

1.http协议是基于TCP/IP协议之上的应用层协议。
2.http是无状态协议,也就是不管访问多少次,每一次访问都没有任何关系,它们之间都是互相独立的。比如客户端访问了一次网页然后关闭浏览器,接着再启动浏览器,这些服务器都不会知道。
3.无连接,也就是当服务器接收到了客户端的请求,返回响应并收到客户端的应答之后,就会断开连接。每次的连接只会处理一次请求。这种方式可以节省传输时间。

HTTP请求

每一个HTTP请求都分为:请求行、请求头、请求正文。

  • 请求行:由请求方法、请求路径、协议和版本组成。例如:GET https://index.html HTTP/1.1
  • 请求文:格式为请求头名称:请求头内容,例如Host:localhost
  • 请求正文:通常只有使用POST方式进程请求的时候才会有请求正文,使用GET没有。

请求方式:

  • 请求方法有很多中,例如:GETPOSTPUTDELETECONNECTOPTIONS等。但是最常用的还是GET和POST这两种方法。
  • GET方法一般会是用于获取数据,或者将一些简短的数据放到URL参数中传递到服务器。
  • POST一般用于向指定资源提交数据进行处理请求(例如表单或上传文件)。相对来说GET方法更高效和方便,但是却不太安全,也不适合传递大量的数据。所以当要传递安全性要求高或数据量大的数据时首选POST方法。

HTTP响应

响应是由服务器端返回给客户端的,同样可以分为三部分:响应行、响应头、响应体。

  • 响应行:表示服务器的响应状态,由HTTP协议版本号、状态码、状态信息组成。例如HTTP/1.1 200 OK,表示服务器响应成功。常见的响应状态码除了200,还有301表示资源被永久转移到其它URL、404表示请求的资源不存在、500表示内部服务器错误。
  • 响应头:包含服务器对请求的应答信息,例如Content-Type、Server、Set-Cookie等。
  • 响应体:服务器返回的数据。例如请求网页时,响应体为网页的HTML代码。

HTTP的状态码是由三位数字来表示的,第一位数字用来表示状态码的类型,有五种类型:


推荐阅读更多精彩内容