HTTP学习记录:一、协议基础

学习资源主要为:@小坦克HTTP相关博客

1HTTP简介:

  HTTP协议是Hyper Text Transfer Portocol(超文本传输协议)的缩写,它是一种通信协议,允许将超文本(即:html文档)从Web服务器传输到本地浏览器的传输协议。

目前我们使用的是HTTP/1.1版本。

2HTTP工作原理

  HTTP协议工作于客户端-服务端架构。浏览器作为HTTP的客户端,通过URLHTTP服务端发送请求,HTTP服务端在接到请求后,向客户端发送响应信息。

  (在HTTP请求的客户端与服务器之间,有可能还存在代理服务器,客户端在请求时,先将请求发送到打理服务器,然后代理服务器请求服务器再进行返回。一般代理服务器都具有缓存的功能,这样可以提高访问速度。)

3URL说明

  因客户端请求是通过URL的,所以针对URL进行简单的说明:

  URLUniform Resource Locator(统一资源定位符)的缩写,用于描述一个网络上的资源。

基本格式为:

schema//host[:port]/path/.../[?query-string][#anchor]

schema:指定使用的协议;

host:是指服务端的IP地址/域名;

port:端口,一般默认使用80端口,可以不写,如果使用的是其他接口,就需要带端口号。

path:是指请求的路径;

query-string:请求传递的参数;

anchor:锚;

4、消息结构

1、请求消息

request消息分为3部分:请求行、请求头和请求体。在请求头和请求体之间会有一个空行。

请求行中,主要显示:请求方法、请求资源路径和协议版本号;

2、响应消息

response消息和request消息结构基本一致,包括响应行、响应头和响应体。

5http的无状态与connectkeep-alive

无状态是指协议对于处理事务没有记忆能力,服务器不知道客户端是什么状态。

HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

  Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间

posted @ 2018-11-22 15:28  飘着的石头  阅读(221)  评论(0编辑  收藏  举报