HTTP基础知识

对着背影说爱祢 提交于 2020-01-10 22:51:07

HTTP基础

简介:Hyper Text Transfer Protocol(超文本传输协议),用于从万维网服务器到本地浏览器的传送协议。

HTTP工作原理

客户端-服务器端架构。浏览器作为客户端通过URL向HTTP服务器发送请求。
URL:
Web服务器:Apache、IIS等。
Web服务器根据接收到的请求后,向客户端发送响应信息。
HTTP默认端口为80,但是可以改为8080或者其他端口。

HTTP特点

  • 无连接:每次连接只处理一个请求。服务器处理完客户的请求,并接受到客户的应答后,即断开连接。优点:节约传输时间。
  • 媒体独立:只要是客户端和服务器知道如何处理的数据类型,任何类型的数据都可以通多HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
  • 无状态:协议对于事物处理没有记忆能力。如果后续处理需要用到前面的信息,则需要重传。
HTTP传输流程

在这里插入图片描述ps:CGI是HTTP服务器上与你的或者其他机器上的程序进行“交谈”的一种工具,其程序运行在网络服务器上。

HTTP消息结构

请求消息组成:请求行、请求头部、空行和请求数据。
来源于菜鸟教程响应消息组成:状态行、消息报头、空行和响应正文。
来源于菜鸟教程

HTTP请求方法

  • GET:请求指定的页面信息,并返回实体主体。
  • POST:向指定资源提交数据进行处理请求。数据被包含在请求体中。POST请求可能导致新的资源的建立和/或已有的资源的修改。

HTTP响应有消息

Allow:服务器支持哪些请求方法。
Content-Encoding:文档的编码方法。
Content-Length:内容长度。
Content-Type:表示后面的文档属于什么MIME类型。
Data:当前的格林尼治时间。
Expires:文档什么时候过期。
Last-Modified:文档的最后改动时间。
Location:表示客户应当到哪里提取文档。
Refresh:表示浏览器应该在多少时间之后刷新文档,以秒计。
Server:服务器名字。
Set-Cookie:设置和页面关联的Cookie。
WWW-Authenticate:客户应该在Authorization头中提供什么类型的授权信息?

HTTP状态码

常见的HTTP状态码

  • 200-请求成功
  • 301-资源(网页等)被永久转移到其他URL
  • 404-请求的资源不存在
  • 500-内部服务器错误
    PS: 状态码格式:xyz (x:类型)
    1** 信息
    2** 成功
    3** 重定向
    4** 客户端错误
    5** 服务器错误

HTTP content-type

Content-Type(内容类型),一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张图片的原因。
常见的媒体格式类型如下:

text/html : HTML格式
text/plain :纯文本格式
text/xml : XML格式
image/gif :gif图片格式
image/jpeg :jpg图片格式
image/png:png图片格式
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!