计算机网络 — HTTP(请求Request与响应Response)


欢迎访问笔者个人技术博客: http://rukihuang.xyz/

一、HTTP概述

  • 超文本传输协议(Hyper Text Transfer Protocol)
  • 用于从万维网服务器传输超文本到本地浏览器的传输协议
  • HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务器的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80。
  • http是基于请求与响应模式的、无状态的、应用层的协议。

在这里插入图片描述

二、HTTP请求报文

2.1 请求报文概述(Request)

  • HTTP请求报文主要由四部分组成
    • 请求行:
    • 请求头:附加的信息,需要服务器知道的一些信息
    • 空一行
    • 请求体get请求方式没有请求体,post请求体中存放需要提交的数据)

img

在这里插入图片描述

2.2 请求行

2.2.1 请求方法(Request Method)

请求方法 描述
GET 请求资源
POST 提交资源
Head 获取响应头
PUT 替换资源
DELETE 删除资源
OPTIONS 允许客户端查看服务器的性能
TRACE 回显服务器收到的请求,用于测试或诊断
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器

2.2.2 URL

  • 统一资源定位符:Uniform Resource Locator
    • 用于描述网上的资源
  • 格式:schema://hosr[:port]/path/.../[?query-string]
    • schema:协议,如http,https,ftp
    • host:域名或者ip地址
    • port:端口
    • path:资源路径
    • query-string:发送的参数

2.3 请求头(Request Header)

请求头 描述
Host 主机ip地址或域名
User-Agent 客户端相关信息,如操作系统、浏览器等信息
Accept 指定客户端接收信息类型,如image/jpg,text/html,application/json
Accept-Charset 客户端接收的字符集,如gb2312,iso-8859-1
Accept-Encoding 可接受的内容编码,如gzip
Accept-Language 接收的语言,如Accept-Language:zh-cn
Authorization 客户端提供给服务端,进行权限认证的信息
Cookie 携带的cookie信息
Referer 当前文档的URL,即从哪个链接过来的
Content-Type 请求体内容类型,如Content-Type:application/json
Content-Length 数据长度
Cache-Control 缓存机制,如Cache-Control:no-cache
Pragma 放置页面被缓存,和Cache-Control:no-cache作用一样

三、HTTP响应报文

3.1 响应报文概述(Response)

  • HTTP响应报文主要有四部分组成
    • 响应行(状态行)
    • 响应头
    • 空行
    • 响应体(正文)

img

在这里插入图片描述

3.2 状态码(Status Code)

  • 状态码用以表示网页服务器HTTP响应状态的3位数字代码
状态码 描述
1xx 提示信息,请求被成功接收(中间状态,一般观察不到)
2xx 成功,请求被成功处理(200 ok)
3xx 重定向相关(304 缓存)
4xx 客户端错误(404 资源路径有误)
5xx 服务器端错误(500 程序有错)

3.3 响应头(Response Header)

响应头 描述
Server HTTP服务器的软件信息
Date 响应报文的时间
Expires 指定缓存过期时间
Set-Cookie 设置cookie
Last-Modified 资源最后修改时间
Content-Type 响应的类型和字符集,如ContentType:text/html;Charset=utf-8
Content-Length 内容长度
Connection 如Keep-Alive,表示保持tcp连接不关闭,不会永久保持连接,服务器可设置
Location 指明重定向的位置,新的url地址,如304情况
发布了116 篇原创文章 · 获赞 105 · 访问量 7071

猜你喜欢

转载自blog.csdn.net/weixin_43508544/article/details/103425733