超文本传输协议HTTP详解

Web TOMORROW 2个月前 (10-05) 178次浏览 0个评论 扫描二维码
文章目录[隐藏]

HTTP 英文原文为:HyperText Transfer Protocol,中文全称叫超文本传输协议。它是基于 TCP/IP 通信协议来传输数据的,是互联网上应用非常广泛的一种网络传输协议,所有的万维网文件都必须遵守该协议。

下面将详细阐述 HTTP 协议的工作原理,消息结构,请求方法,响应头,状态码等相关内容。

HTTP 工作原理

浏览器作为 HTTP 客户端,通过 URL 向 Web 服务器(也即 HTTP 服务器)发送请求。Web 服务器接收到浏览器的 HTTP 请求后,做出相应的响应。Web 服务器的默认监听端口为 80 。

超文本传输协议 HTTP 详解

消息结构

HTTP 客户端发送的请求消息包含以下四部分:

  • 请求行
  • 请求头部
  • 空行
  • 请求体

其具体格式如下:

超文本传输协议 HTTP 详解

服务器响应的消息也包含以下四部分:

  • 状态行
  • 消息报头
  • 空行
  • 响应正文

超文本传输协议 HTTP 详解

 

客户端请求实例:

GET /hello.txt HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en, mi

服务器响应实例

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain

 

客户端输出的结果:

Hello World! My payload includes a trailing CRLF.

 

HTTP 请求方法

HTTP 的 8 种请求方法如下所示:

超文本传输协议 HTTP 详解

常用的请求方法只有 get、post 和 head 三种。

 

HTTP 响应头

超文本传输协议 HTTP 详解

HTTP 状态码说明

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

HTTP 状态码的英文为 HTTP Status Code。

下面是常见的HTTP 状态码

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

 


TOMORROW 星辰 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:超文本传输协议 HTTP 详解
喜欢 (0)
TOMORROW
关于作者:
TOMORROW星辰第一作者。如有疑问或者发现错误,请留言作者。
清爽的舞蹈发表我的评论  如需接收评论回复通知,请填写正确的 个人信息
取消评论
表情 加粗 斜体 签到