HTTP报文
客户端传递给服务器的内容和服务器传递给客户端的内容,都属于HTTP报文.
HTTP报文分为三部分:
起始行:请求起始行和响应起始行。
首部:请求首部 和响应首部 , 通用首部(请求和响应都有的) 自定义首部。
主体:请求主体和响应主体。
General:(通用首部)
Request URL:https://sp0.baidu.com/9foIbT3kAMgDnd_/c.gif?t=0&q=bokeyuan&p=0&pn=1 //请求地址
Request Method:GET //请求方法
Status Code:204 No Content //http状态
Remote Address:119.75.216.20:443 //服务器的Ip和端口号
Referrer Policy:unsafe-url
Request Headers: //请求头
请求起始行 请求方式 请求地址 使用的HTTP传输协议的版本号
GET /rainbow8590/formatDate HTTP/1.1
请求首部 :客户端会把一些信息放在请求首部中传递给服务器,服务器端就可以在请求首部中获取相关的内容。
Host: github.com //域名
Connection: keep-alive //持续保持连接
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36 //浏览器的版本
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer: https://github.com/rainbow8590/formatDate/blob/master/formatDate.js
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: zh-CN,zh;q=0.8
Response Headers: //响应头
响应起始行: HTTP版本号、响应状态码,状态码说明
HTTP/1.1 200 OK
响应首部:服务器端传递给客户端的一些信息可以放在响应首部中,客户端可以在响应首部中获取到相关的内容(服务器设置 客户端获取)
Date: Mon, 17 Jul 2017 10:50:24 GMT //服务器当前本次响应的时间(格林尼治时间)
Content-Type: text/html; charset=utf-8 //响应内容的格式和编码
Transfer-Encoding: chunked
Server: GitHub.com //响应的域名
Status: 200 OK
Cache-Control: no-cache
Vary: X-PJAX
X-UA-Compatible: IE=Edge,chrome=1
Response ://响应主体 服务器返回给客户端的数据内容都在响应主体中,客户端可以在响应主体中获取到这些内容(服务器端设置 客户端获取)。
Request Payload : 请求主体 客户端传递给服务器端的数据内容可以放在请求主体中传递给服务器,服务器可以在请求主体中获取到传递进来的内容。
数据传递的方式
客户端传递给服务器端数据:
1.请求URL后面问号传参
2.设置请求的首部(设置请求头信息)
3.设置请求主体,把传递给服务器的内容放在请求主体中传递给服务器
服务器端传递给客户端数据:
1.设置响应头信息
2.设置响应主体内容