HTTP协议

什么是HTTP协议

超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而 [9] 消息内容则具有一个类似MIME的格式。

HTTP 报文格式

HTTP 协议是用户客户端和服务器之间的通信的,其报文格式分为 客户端 的 请求报文,服务器 的 响应报文 ,两者的通用构成是:
   启始行 + 头部(首部字段) + 空行 + 实体  
 请求报文:
     请求行 + 请求头(请求首部字段) + 空行 + 实体    
  响应报文:
        状态行 + 响应头 + 空行 + 消息体      

HTTP 请求方法

HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
在这里插入图片描述

HTTP 状态码

下面是常见的 HTTP 状态码:

200 - 请求成功
301 - 资源(网页等)被永久转移到其它URL
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误

HTTP content-type

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

Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something

常见的媒体格式类型如下:

text/html : HTML格式
text/plain :纯文本格式
text/xml : XML格式
image/gif :gif图片格式
image/jpeg :jpg图片格式
image/png:png图片格式
以application开头的媒体格式类型:

application/xhtml+xml :XHTML格式
application/xml: XML数据格式
application/atom+xml :Atom XML聚合格式
application/json: JSON数据格式
application/pdf:pdf格式
application/msword : Word文档格式
application/octet-stream : 二进制流数据(如常见的文件下载)
application/x-www-form-urlencoded : 中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

MIME 类型

MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的标准,用来表示文档、文件或字节流的性质和格式。

MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。
语法
MIME 类型通用结构:

type/subtype

常见的 MIME 类型

  • 超文本标记语言文本 .html、.html:text/html
  • 普通文本 .txt: text/plain
  • RTF 文本 .rtf: application/rtf
  • GIF 图形 .gif: image/gif
  • JPEG 图形 .jpeg、.jpg: image/jpeg
  • au 声音文件 .au: audio/basic
  • MIDI 音乐文件 mid、.midi: audio/midi、audio/x-midi
  • RealAudio 音乐文件 .ra、.ram: audio/x-pn-realaudio
  • MPEG 文件 .mpg、.mpeg: video/mpeg
  • AVI 文件 .avi: video/x-msvideo
  • GZIP 文件 .gz: application/x-gzip
  • TAR 文件 .tar: application/x-tar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值