欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HTTP请求报文和响应报文

程序员文章站 2024-02-08 17:57:04
...

一. HTTP请求报文

一个HTTP请求报文由请求行、请求头、空行、请求数据四个部分组成

1.请求行
请求行由请求方法字段、URL字段、HTTP协议版本三个字段组成

请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT,其中,最常用的是GET、POST方法

URL字段是请求的URL

HTTP协议版本有 HTTP 1.0 和 HTTP 1.1 两个版本,当下的版本多为HTTP 1.1

例如:

GET http://www.baidu.com HTTP 1.1

2.请求头

请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔

下面是请求头中常见的字段

Accept:浏览器能过处理的内容类型
Accept-Encoding:支持的压缩编码
Accept-Language:支持的语言
Connection:浏览器与服务器之间连接的类型
Cookie
Host:主机名
Referer:发送请求的页面的URI
User-Agent:浏览器的信息

例如:

Accept:image/webp,image/apng,image/*,*/*;q=0.8
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.8
Connection:keep-alive
Cookie:uuid_tt_dd=-72324168332784683_20170701; __message_district_code=000000; UserName=aomize; UserInfo=xXACu0PPnvlBsvmt0OMMZ%2FgGmtO6Wg5qh9enoGgLiq%2FVkoWF4kZx5H32BSM0v4D%2Bdfv2uNTJjjh2BZC0iNuRmBfDwjl0XfWSQs3nhtC%2BnxMzsouSRYfnQ%2FZfXqYK%2BaQK; UserNick=aomize; AU=042; UN=aomize; UE="[email protected]"; BT=1511357957143; access-token=0c1b65bc-4df9-44a4-9b2b-4627b9cdcb52; __message_sys_msg_id=0; __message_gu_msg_id=0; __message_cnel_msg_id=0; __message_in_school=0; dc_tos=oztrca; shown_offset=20; Hm_lvt_6bcd52f51e9b3dce32bec4a3997715ac=1511358392,1511358663,1511358895,1511362115; Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac=1511363243; dc_session_id=1511362114756
Host:dc.****.net
Referer:http://blog.****.net/?ref=toolbar
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.109 Safari/537.36

3.空行

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

4.请求数据

向后台请求的数据或给后台发送数据

二. HTTP响应报文

HTTP响应报文由状态行、消息报头、响应正文三个部分组成

1.状态行

请求行由HTTP版本、状态码、状态码解释构成

常见的状态码:
200 OK:一切OK
304 Not Modified:请求的资源缓存中存在,直接返回缓存中的资源
403 Forbidden:服务器收到请求,但是拒绝提供服务
404 Not Found:找不到请求的资源
500 Internal Server Error :服务器发生了错误

例如:

HTTP 1.1 200 OK
HTTP 1.1 404 Not Found

2.响应头

常见的一些字段
Connection:连接方式
Content-Encoding:正文的编码方式
Content-Type:正文的类型
Date:日期

例如:

Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/plain;charset=UTF-8
Date:Wed, 22 Nov 2017 15:07:25 GMT
Expires:Thu, 01-Jan-1970 00:00:00 GMT
Keep-Alive:timeout=20
Server:openresty
SetCookie:dc_session_id=1511362114756;Path=/;Domain=****.net;Expires=Wed, 22-Nov-2017 15:37:25 GMT
Transfer-Encoding:chunked
Vary:Accept-Encoding

3.响应正文

由后台传来的数据并显示在页面中

(完)