HTTP

HTTP简介

HTTP请求格式

HTTP规定,HTTP请求由如下3部分构成

  • 请求方法、URI和HTTP的版本
  • 请求头(Request Header)
  • 请求正文(Request Content)

请求方式、URI和HTTP的版本

HTTP请求的第一行包括请求方式、URI和协议版本,以空格分隔:

POST /hello.jsp HTTP/1.1

POST 请求方式

/hello.jsp URI

HTTP/1.1 HTTP版本

请求头

Host: ntlias-stu.boxuegu.com //远程主机
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:71.0) Gecko/20100101 Firefox/71.0 //浏览器类型
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN  //浏览器所用的语言
Content-Type    image/jpeg;charset=UTF-8 //正文类型
Content-Length:40                                       //正文长度
Accept-Encoding: gzip, deflate
Connection: keep-alive
Cookie: SESSION=ac4880af-ef3e-4272-ad63-7eead44dd7ae
Upgrade-Insecure-Requests: 1
If-Modified-Since: Wed, 06 Nov 2019 11:55:26 GMT
If-None-Match: W/"1621-1573041326000"
Cache-Control: max-age=0
# 常见的请求头
Host 请求的服务器的主机地址和端口
User-Agent  浏览器的信息
Accept 浏览器可以接收的数据类型
Accept-Language  浏览器可以处理的语言
Accept-Encoding 浏览器可以接收的数据压力类型
Referer 请求从哪个页面发起 可以实现防盗链
Connection 保持连接
Content-Type 提交的内容类型
Content-Length 请求的数据内容的字节大小

请求正文

HTTP规定,请求头和请求正文之间必须以空行分隔。这个空行非常重要,表示请求头已经结束。接下来是请求正文

HTTP响应的格式

  • HTTP的版本、状态代码和描述
HTTP/1.1 200 ok

代表使用HTTP1.1协议,状态代码为200

  • 响应头
HTTP/1.1 200 OK
Server: nginx/1.8.1  服务器类型
Date: Wed, 06 Nov 2019 12:12:03 GMT
Content-Type: image/jpeg;charset=UTF-8 //正文类型
Content-length:42                                       //正文长度
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
# 常见响应头
Content-Type 响应体内容的类型 取值
        text/plain 纯文本内容
        text/html hmtl内容
        application/x-download  文件类型 常配合 Content-Disposition 使用
Content-Length 响应体内容的字节大小
Location 重定向的资源地址 配合302使用
refresh 定时刷新页面 取值 秒;url=网络地址
Content-Disposition 告诉浏览器响应体内容的处理方式 取值
inline 内联(默认) 把内容直接在浏览器中展示
attachment 附件 告诉浏览器提示用户下载文件
  • 响应正文

响应正文就是服务器返回的具体数据,常见的是HTML文档

HTTP请求头与请求正文之间必须用空行分隔

  • 正文部分的MIMI类型

HTTP请求以及响应的正文部分可以是任意格式的,HTTP采用MIME协议来规范正文的数据格式

遵守MIME协议的数据类型统称为MIME类型,在HTTP请求头和HTTP响应头中都有一个Content-type项,用来指定请求正文部分或响应正文部分的MIME类型。

你可能感兴趣的:(HTTP)