http的简介

来源:互联网 发布:vss软件保护 编辑:程序博客网 时间:2024/05/22 06:22

http:hyper text transfer protocol超文本传输协议

http简介
我们在浏览网页时,一定见过以html结尾的网页,这里html(hyper text mark language超文本标记语言)是一种编程语言,由html编写出来的文档即为超文本文档。
在早期,http只能传输超文本信息,而不能传输音视频等其他格式的文件,后来http协议中引入了MIME(mutipurpose Internet Mail Extesion)的机制,MIME可以将非文本文件编码成文本文件,并从一方发送到对方,再通过反向还原,将文本还原成非文本文件,简单说来就是基于文本的形式发送非文本数据。所以说现在的http协议已经支持多媒体了。
http是一种无状态连接,就是服务器端无法持续追踪访问者来源,后来引入了URL重写机制和cookie机制,通过此种机制追踪访问者来源。


http工作原理
http协议是基于TCP传输的应用层协议,http协议的最主要目的是实现跨主机发送文档。
下图为http协议的简单工作流程:
这里写图片描述
客户端基于http协议向服务器端发送请求,服务器内核收到请求后判断为该主机上web服务进程的请求,如过是,则把请求发送给该进程,然后,运行在服务器端的进程判断客户端请求的文件是什么文件,并从硬盘中调用此文件,封装成http响应报文后,通过网络送达给客户端。所以说,http的工作机制大体上分为http请求(图中123)和http响应(图中456)。


动态、静态资源的区别:

这些请求得来的超文本文件或音视频文件就是我们平常所说的web资源,web服务器就是存放了web资源的服务器,这些资源分为静态文件和动态文件两类:
(1)静态资源:客户端发送请求到服务器端,服务器调用资源直接响应,常见的静态文件格式:.jpg .gif .html .txt .js .mp3等等;
(2)动态资源:服务器端接收到客户端请求,并在服务器端通过特定的响应程序运行后得到某文件,再把这个文件响应给客户端,常见的动态文件格式:.php .jsp。


一次完整的http请求处理过程分为以下7步:

(1) 建立或处理连接:接收客户端请求或拒绝请求;
(2) 接收请求:接收来自于网络的请求报文中对某资源的一次请求的过程;
(3) 处理请求:对请求报文进行解析,并获取请求的资源及请求方法等相关信息;
(4) 访问资源:获取请求报文中请求的资源;
(5) 构建响应报文;当web服务器找到资源,将封装此报文并标记报文封装的内容格式或类型
(6) 发送响应报文;
(7) 记录日志;把用户请求资源的结果和时间记录的日志文件中。


状态码:

1xx     纯文本信息2xx     成功类信息3xx     重定向类信息4xx     客户端错误类型的信息 5xx     服务器端的错误**举例:**301 永久重定向    302 临时重定向   304 没有发生任何改变使用缓冲400 Bad Request  //客户端请求有语法错误,不能被服务器所理解     401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用      403 Forbidden  //服务器收到请求,但是拒绝提供服务   404 Not Found  //请求资源不存在,eg:输入了错误的URL500 Internal Server Error //服务器发生不可预期的错误503 Server Unavailable  //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
0 0