http协议

Posted benpao1314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http协议相关的知识,希望对你有一定的参考价值。

本文是复习http协议时,手动整理的资料,以备后续查阅。

http(hypertext transfer protocol):超文本协议。是万维网(world wide web,www,也简称为web)的基础。http是一个属于应用层的面向对象的协议。适用于分布式超媒体信息系统。

它于1900年提出,经过使用与发展,得到不断的完善和扩展,目前www中使用的是htttp1.1

http协议的三个显著特点:

1、无连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后立即断开连接。采用这种方式可以节省传输时间。

2、无记忆:协议不保留当前事务处理的信息。虽然这会带来一些副作用,可是服务需要重新利用先前信息,可以实现较快应答。

3、无状态:每一个事务都是独立地进行处理。当一个事务开始时,就在www客户与wwwf服务器之间产生一个TCP连接,当事务结束时就释放这个TCP连接。

 

http有两类报文:

1、客户到服务器的请求报文(request)

2、服务器到客户的响应报文(response)

一、http请求

http 请求由三部分构成,分别是:方法-URL-协议/版本,请求头,请求正文

技术分享图片

 

 

【请求头说明】Accept :说明能接受的内容类型

        Accept-Language:指客户端的语言,这也是为什么我们访问google.com会自动指派到google.cn上面。

         Accept-Encoding:这个是指客户端所能接受编码规则。

                  user-Agent:客服端的信息,对于服务器来说没有这个信息,它并不知道客户是使用什么环境访问www服务的,所以相关的日志信息记录的就是客户浏览器发送的这块内容。

                             host:指请求的主机地址

【注意】请求头和请求正文之间是一个空行(只有CRLF符号的行),这个行非常重要,它表示请求头已经结束,接下来的是请求的正文。

二、response 应答

     应答是指对http请求的响应。与http请求相似,http应答也由三个部分构成,分别是:协议-状态代码-描述、应答头、应答正文。

技术分享图片

 

【响应头说明】contect-Length:正文长度,确保传输的页面内容正确。

                            contect-Type:正文的类型,是文本还是压缩格式。

                                      server:服务器上的WWW服务器名称。

                                         date:服务器上的GMT格林威治时间

【注意】应答的正文就是服务器返回的html页面。应答头和正文之间也用一个空行(只有CRLF符号的行)分隔。

 

总结:我们看到的一个完整的web网站是由很多http请求组成的,一般来说我们第一次的请求会下载HTML的页面,然后浏览器会做一个解释工作,一边解释一边根据html中的请求(css、js、flash、jpeg、gif)将请求发送出来,服务器再将相关内容返回,最后我们就看到了一个完整的页面。

以上是关于http协议的主要内容,如果未能解决你的问题,请参考以下文章

HTTP协议工作原理是啥 HTTP协议工作原理介绍【详解】

HTTP 之 HTTP协议(HTTP协议概述HTTP消息缓存控制相关头部Cookie相关头部)

HTTP协议

Linux-http协议(应用层协议)-http概述-http格式-http版本-http方法-http状态码

大话http协议

Http协议简单解析