博客列表 >HTTP协议 入门

HTTP协议 入门

无耻的鱼
无耻的鱼原创
2018年02月27日 12:22:43875浏览

HTTP简介

HTTP 协议是 Hyper Text Transfer Protocol (超文本传输协议)的缩写。

是用于从万维网服务器传输超文本到本地浏览器的传送协议

HTTP是一个基于TCP/IP通信协议来传送数据(HTML文件、图片文件、查询结果)

HTTP工作原理

HTTP 协议工作于客户端-服务端。浏览器作为HTTP客户端通过URL想HTTP服务端即web服务器发送所有请求。

Web服务器有 Apache服务器、IIS服务器 (Internet information Services)等

Web服务器接收到请求后,向客户端发送响应信息

HTTP的默认端口是80 ,但是也可以改成其他的

HTTP三点注意事项

HTTP是无连接的:限制每次连接只处理一个请求。服务器处理完客户请求,并受到客户应答后,即断开连接。

HTTP是媒体独立:只要客户端和服务器知道如何处理数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。

HTTP是无状态:无状态协议,是指对事物的处理没有记忆功能。或导致如果处理后续内容需要前面信息,则他需要重传。

HTTP消息结构

HTTP是基于客户端、服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议

一个HTTP‘客户端’是一个应用程序(web浏览器或其他任何客户端),通过连接到服务器达到向服务器发送一个或多个HTTP请求的目的。

一个HTTP‘服务器’同样是一个应用程序(通常是一个web服务,如Apache web服务器 或IIS服务器),通过接收客户端请求并向客户端发送HTTP响应数据。

HTTP使用统一资源标识符(Uniform Resource Ldentifiers,URL)来传输数据和建立连接

客户端请求消息

客户端发送一个HTTP请求到服务器的请求包括以下格式:请求行、请求头部、空行和请求数据四个部分组成

服务器响应消息

HTTP响应也由四个部分组成,分别是:状态行,消息报头。空行和响应正文

(具体看这里http://www.runoob.com/http/http-messages.html)

HTTP请求方法

根据HTTP标准,HTTP请求可以使用多种请求方法

HTTP1.0定义了三种请求方法:GET、POST、HEAD方法。

HTTP2.0定义了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

  • GET   请求指定的页面信息,并返回实体主体

  • HEAD  类似与get请求,只不过返回的响应中没有具体的内容,用于获取报头

  • POST  向指定资源提交数据进行处理请求(如:提交表单或上传文件)。数据被包含   在请求体中。POST请求可能会导致新的资源建立和/已有资源的修改。

(其他方法请看http://www.runoob.com/http/http-methods.html)

HTTP响应头信息

HTTP请求提供了关于请求,响应或者其他的发送实体的信息。

  • Allow    服务器支持的请求方法(如GET、POST等)

  • Content-Encoding 文档编码类型

  • Content-Length  表示内容长度

  • Content-Type  表示后面的文档属于什么MIME类型

(其他请看http://www.runoob.com/http/http-header-fields.html)

HTTP状态码

当浏览者访问一个网页时,浏览者的浏览器会向网页所在的服务器发出请求。

当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。

HTTP状态码的英文为 HTTP Status Code

下面是常见的HTTP状态码:

  • 200 - 请求成功

  • 302 - 资源(网页等) 被永久转移到其他URL

  • 404 - 请求资源不存在(如网页)

  • 500 - 内部服务器错误

HTTP状态码分类

  • 1**  信息,,服务器收到请求,需要请求者继续执行操作

  • 2**  成功,操作被成功接收并处理

  • 3**  重定向,需要进一步的操作以完成请求

  • 4**  客户端错误,请求包含语法错误或无法完成请求

  • 5**  服务器错误,服务器在处理请求的过程中国发生错误

(HTTP状态码列表http://www.runoob.com/http/http-status-codes.html)

HTTP content-type

Content-type,内容类型,一般是指网页中存在的Content-type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件。

HTTP content-type 对照表

http://www.runoob.com/http/http-content-type.html


上一条:2018-2-27下一条:js算法之快速排序
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议