您的位置:时时app平台注册网站 > web前端 > HTTP从入门到入土(5)——HTTP报文格式彩世界网址

HTTP从入门到入土(5)——HTTP报文格式彩世界网址

2019-11-03 16:32

响应正文

响应正文就是服务器针对HTTP请求返回的数据,按照HTTP请求的数据不同可以返回不同种类的数据。

(消息头部1)关键字 “:” 空格 值 回车换行

2.HTTP请求方法

   在HTTP通信中,每个HTTP请求报文都包含一个方法,用以告诉Web服务器端需要执行哪些动作。
具体为:

HTTP方法 作用描述
GET 请求指定的页面信息,并返回实体主体。
HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中
PUT 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE 请求服务器删除指定的页面。
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS 允许客户端查看服务器的性能。
TRACE 回显服务器收到的请求,主要用于测试或诊断。

请求报文

一个请求报文由四部分组成,分别是:

  • 请求行
  • 请求头
  • 空行
  • 请求正文

503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

Http请求与响应

响应报文

响应报文同样由四部分组成,分别是:

  • 响应行
  • 响应头
  • 空行
  • 响应正文

3.浏览器与网页所在服务器建立TCP连接;

1.HTTP请求报文

HTTP请求报文由请求行、请求头部、空行和请求报文主体组成。

下图给出了一般格式:

彩世界网址 1

request.png

下面逐一阐述:

(1) 请求行

   请求行是请求报文的第一行,内容由请求方法字段,URL字段和HTTP协议版本字段组成,之间用空格隔开

(2) 请求头部

   请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号 :分割,其作用是通过客户端把请求的相关信息告诉给服务器。

常见的请求头部信息如下表:

请求头信息 说明
Accept: text/plain, text/html 媒体类型
Accept-Charset: iso-8859-5 字符编码集
Accept-Language: zh-cn 语言类型
Accept-Encoding: gzip,deflate 支持压缩
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT; ...) 客户端类型
Host: www.xxx.xxx 主机名

除此,与请求报文相关的常用的请求头有Content-Type和Content-Length。

(3) 空行

   最后一个请求头部信息之后是一个空行,通过发送回车符和换行符,通知Web服务器空行下面不会有请求头部的信息了。

(4) 请求报文主体

   请求报文主体中包含了要发送给Web服务器的数据信息。
请求数据不在GET方法中使用,而在POST方法中使用。POST方法适用于需要客户填写表单的场合。

示例如下:

GET /index.html HTTP/1.1
Accept:image/gif.image/jpeg,*/*
Accept-Language:zh-cn
Accept-Encoding:gzip,deflate
User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
Connection:Keep-Alive
Host:localhost 
username=test&password=1234

HTTP报文格式

HTTP报文分为请求报文和响应报文,只有发送了请求报文,才会有响应报文。

常见的报文格式如下所示:

……

1.HTTP简介

   HTTP协议,全称为Hyper Text Transfer Protocol,中文名为超文本传输协议,是互联网中最常用的一种网络协议。HTTP协议有很多应用,最流行的就是用于web浏览器和web服务器之间的通信,即www应用或称web应用。

   WWW,全称为World Wide Web,常称为web。Http协议的WWW服务应用的默认端口为80,另外一个加密的WWW服务应用https(s即secure)的默认端口为443,主要用于网银,支付等和金融相关的业务。

   HTTP协议中最主要的是HTTP/1.0HTTP/1.1,其中HTTP/1.0是第一个得到广泛使用的版本,而1.1逐渐成为当前使用的主流。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

彩世界网址 2

cs.jpg

请求行

请求行由三部分组成,分别是:请求方法,URL以及协议版本。

GET /test/hi-there.txt HTTP/1.0

如上所示:该请求行的请求表示了本次请求的请求方法是GET,URL是/test/hi-there.txt,协议版本是1.0。

2.响应报文格式

Http学习

标签: http

响应头

响应头和请求头类似,用来描述服务器信息以及对请求头的回应。

请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。最后由回车和换行表示请求行结束。例如:

2.HTTP响应报文

彩世界网址 3

响应.jpg

响应报文和请求报文类似。其中,响应报文主体装载了服务器端要返回给客户端的数据,可以是文本类型,也可以是二进制的(图片和视频等)。

本文篇幅有限,仅介绍至此。

参考资料

  1. 菜鸟教材
  2. cn博客

空行

空行位于请求头之后,由回车符和换行符组成,用来隔断请求头和请求正文。

HTTP请求报文的由请求行、请求头部行、空行和请求数据四部分构成,具体格式如下所示:

3.HTTP状态码

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

分类 分类描述
100-199 信息,服务器收到请求,需要请求者继续执行操作
200-299 成功,操作被成功接收并处理
300-399 重定向,需要进一步的操作以完成请求
400-499 客户端错误,请求包含语法错误或无法完成请求
500-599 服务器错误,服务器在处理请求的过程中发生了错误

HTTP状态码共分为5种类型:

分类 分类描述
100-199 信息,服务器收到请求,需要请求者继续执行操作
200-299 成功,操作被成功接收并处理
300-399 重定向,需要进一步的操作以完成请求
400-499 客户端错误,请求包含语法错误或无法完成请求
500-599 服务器错误,服务器在处理请求的过程中发生了错误

   下面是常见的HTTP状态码:

  • 200 请求成功

  • 301 资源(网页等)被永久转移到其它URL

  • 404 请求的资源(网页等)不存在

  • 500 内部服务器错误

响应行

响应行由三部分组成,分别是:协议版本,状态码以及状态描述。

HTTP/1.0 200 OK

如上所示,协议版本是1.0版本,状态码为200,状态描述为OK,从这一条可以看出,服务器成功返回了信息。

6.释放TCP连接;

4.HTTP报文

   HTTP报文分为两种,一种是从Web客户端发往Web服务器的HTTP报文,称为请求报文,另外一种是从Web服务器发往客户端的报文,称为响应报文。HTTP的请求和响应报文格式类似。

空行

空行位于响应头之后,由回车符和换行符组成,用来隔断响应头和响应正文。

请求头部行包括若干行,每行由关键字及其值构成的,关键字和值用英文冒号“:”分隔,每一行都由回车换行表示结束。请求头部通知服务器有关于客户端请求的信息,典型的请求头部关键字有:

请求正文

请求正文中一般存储请求方法(比如POST)携带的参数

(空行)回车换行(rn)

请求头

请求头又多个键值对组成,一般用来描述客户端的情况以及对服务器的要求,可以说,请求头是HTTP协议中最重要的部分了,许多HTTP方面的优化都可以从请求头方面入手。

之后将会有文章专门介绍请求头。

最后一个请求头部之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头部了。

消息头部与请求头部的格式相似,也是包含若干行,每行由关键字及其值构成,常用的关键字包括:

User-Agent:产生请求的浏览器类型。

User-Agent:Mozilla/5.0

3xx:重定向。要完成请求必须进行更进一步的操作。

400 Bad Request:客户端请求有语法错误,不能被服务器所理解。

比如浏览器使用GET方法访问山东大学主页中的“学校简介”文档(URL为www.sdu.edu.cn/2010/xxjj.htm),则其HTTP请求报文可以为:

1xx:指示信息。表示请求已接收,继续处理。

(请求行)方法名 空格 URL 空格 版本 回车换行(rn)

(4)请求数据

(空行)回车换行(rn)

4.浏览器发送HTTP请求报文,获取目标网页的文件;

(请求数据)……

常见状态码及状态描述的说明如下:

其中“方法”字段表示该请求报文希望服务器做什么,请求报文的类型就是由所采用的方法决定的。HTTP请求报文的主要方法包括:GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT等。最常见的方法有GET和HEAD。

(1)请求行

Content-Type:表示返回消息的内容类型。

1.HTTP请求报文格式

GET /2010/xxjj.html HTTP/1.1 rn

Connection:告知服务器发送完文档后释放连接还是保持连接。

2xx:成功。表示请求已被成功接收、理解、接受。

2.浏览器根据URL中的域名,通过DNS解析出目标网页的IP地址;

(2)请求头部行(header)

404 Not Found:请求资源不存在,比如输入了错误的URL。

用户访问万维网文档,万维网文档之间的链接以及万维网文档中数据传送到用户计算机,这些功能的实现都是由超文本传输协议HTTP(HyperTextTransfer Protocol)负责完成的。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送,能够在万维网上进行文本、声音、图像、视频等各种信息的交换。

7.浏览器将网页的内容包括文本、图像、声音等显示呈现在用户计算机屏幕。

(消息头部N)关键字 “:” 空格 值 回车换行

(请求头部行1)关键字 “:” 空格 值 回车换行(rn)

在响应报文的状态行中,版本字的表示服务器HTTP协议的版本,状态码字的表示服务器发回的响应状态代码;短语字段表示状态代码的文本描述。状态码由三位十进制数字组成,第一个数字定义了响应的类别,有五种可能取值(1-5),每种状态码的含义如下:

……

Host:请求的主机名。

(请求头部行N)关键字 “:” 空格 值 回车换行(rn)

Accept-Language:客户端可识别的语言类型

响应正文部分是服务器端根据客户端的请求发回的具体文档内容,以HTML语言表示。

(响应正文)……

Host: www.sdu.edu.cnrn

HEAD的功能与GET相似,只是服务器端接收到HEAD请求后只返回响应头,而不会发送响应内容。当我们只需要查看某个页面的状态的时候,使用HEAD是非常高效的,因为在传输的过程中省去了页面内容。

401 Unauthorized:请求未经授权。

(3)空行

1.用户在浏览器中键入需要访问网页的URL或者点击某个网页中链接;

HTTP响应也由四个部分组成,分别是:状态行、消息头部、空行和响应正文。其具体格式如下:

5.服务器发送HTTP响应报文,将目标网页文件发送给浏览器;

HTTP协议也是工作在客户机/服务器模式下,分为HTTP客户端和HTTP服务器两个部分,双方每次进行交互,都是由客户端发出的请求和服务器端发出的响应构成。HTTP协议规定的用户使用浏览器访问万维网的过程可以总结为:

GET方法中没有请求数据的内容,POST方法使用请求数据,用于客户端向服务器端填写表单等操作。

500 Internal Server Error:服务器发生不可预期的错误。

HTTP协议是无连接的,它使用面向连接的TCP协议所提供的服务。同时,HTTP协议也是无状态的,即服务器端不记录客户端访问的时间和次数。最初的HTTP协议版本是1.0版,使用非持续连接(nonpersistentconnection)。每传输一个对象都需要利用1个往返时间RTT建立TCP连接,用1个往返时间RTT申请并传输回对象,即平均用2个往返时间RTT获取一个对象。目前使用比较广泛的是HTTP协议的1.1版本(HTTP/1.1),其在默认情况下使用持续连接(persistentconnection),即利用同一个TCP连接传输多个对象。

(状态行)版本 空格 状态码 空格 短语 回车换行

来自微信公众号:开点工作室(ID:kaidiancs)

GET是最常见的一种请求方式,当客户端要从服务器中读取文档时,当点击网页上的链接或者通过在浏览器的地址栏输入网址来浏览网页,使用的都是GET方式。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。GET方式不适合传送私密数据和大量数据。

200 OK:客户端请求成功。

GET www.sdu.edu.cn  HTTP/1.1回车换行(rn)

Accept-Language:cn */*rn

5xx:服务器端错误。服务器未能实现合法的请求。

Date:表示返回消息的时间。

4xx:客户端错误。请求有语法错误或请求无法实现。

HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。请求报文是从客户端向服务器发送的报文,响应报文是从服务器到客户端的报文。下面分别介绍请求报文和响应报文的具体格式。

Content-Length:返回内容的长度(字节数)。

Accept:客户端可识别的内容类型列表。

Server:使用的服务器软件及其版本号。

同样,最后一个消息头部之后是一个空行,发送回车符和换行符,通知客户端以下不再有消息头部了。

403 Forbidden:服务器收到请求,但是拒绝提供服务。

本文由时时app平台注册网站发布于web前端,转载请注明出处:HTTP从入门到入土(5)——HTTP报文格式彩世界网址

关键词: