02架构 07 http https

HTTP 协议

HTTP 概述

全称:`Hyper Text Transfer Protocol` 中文名:超文本传输协议

超文本:包含有 超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。

用简单的话说:HTTP去我们的服务器拿取文件,解析URL后展示成页面给我们看

URL

`URL`即统一资源定位符(Uniform Resource Locator),用来唯一的标识万维网中的某一个文档。
`URL`由协议、主机和端口(默认为80)以及文件名三部分构成
http://	www.baidu.com	:80		/index.html		?key=value
协议:		域名			端口	  文件及其路径	 	参数=值

http html URL
html页面是由很多个URL组成的,http负责获取并解析,之后展示成页面

HTTP 访问工作原理

在这里插入图片描述

HTTP 请求报文结构

在这里插入图片描述

请求报文结构:
 1.请求行:
请求的方法(get方法没有请求主体内容 post方法会有请求主体信息)
请求的URL数据信息(默认请求index.html首页文件)
请求http协议版本
2.请求头:客户端有关的信息介绍说明
3.空行:隔离上下文,说明请求头部结束
4.请求主体:get方法没有请求主体内容 post方法会有请求主体信息

在这里插入图片描述

HTTP 响应报文结构

在这里插入图片描述

响应报文结构:
1.起始行(响应行) 
	HTTP协议版本信息
	响应的状态码信息(请求成功状态码 200)
	响应状态码说明信息
2.响应头部:服务端有关信息说明
3.响应空行:隔离上下文,说明响应头部结束
4.响应主体内容:一般为html css js 等等代码信息

在这里插入图片描述

范例

General 基本信息

#请求的URL
Request URL: http://10.0.0.7/
#请求的类型
Request Method: GET
#返回状态码
Status Code: 200 OK
#请求域名对应的地址端口
Remote Address: 10.0.0.7:80
#设置请求头部
Referrer Policy: no-referrer-when-downgrade

Request Header 请求头部

#文件类型
Accept: image/webp,image/apng,image/*,*/*;q=0.8
#压缩
Accept-Encoding: gzip, deflate
#语言
Accept-Language: zh-CN,zh;q=0.9
#保持连接:长连接
Connetection:keep-alive
    HTTP/1.1版本 #长连接,一次TCP的连接可以发起多次http请求
    HTTP/1.0版本 #短连接,一次TCP的连接只能发起一次http请求
    
    还有HTTP/2.0和HTTP/3.0
#请求的域名
Host:www.driverzeng.com
#登录信息
cookie: PHPSESSID=afb7d767864ce6a652caa67dde33fcfc; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_8cb66d45a3693d7c9673d2f1eaf63f66=admin%7C1565534946%7C0cvYan2unubeCmkeb4dHfIueS0DrnA4cW8plJj9700T%7C37bb38d7b5c62837d6d82dd12eda70830752a1a37cf976d94d4ee560c75f766f
#主机
Host: 10.0.0.7
#该指令用于让浏览器自动升级请求从http到https,是告诉服务器,自己支持这种操作,也就是我能读懂你服务器发过来的上面这条信息,并且在以后发请求的时候不用http而用https,简洁的来讲,就相当于在http和https之间起的一个过渡作用
Upgrade-Insecure-Requests: 1
#浏览器版本
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36

在这里插入图片描述

Response Header 响应头部

#请求信息的单位
Accept-Ranges: bytes
#长连接
Connection: Keep-Alive
#数据长度
Content-Length: 38772
#文件类型
Content-Type: image/jpeg
#请求时间
Date: Fri, 06 Dec 2019 01:52:48 GMT
#标签(唯一标识符,确认是否有改变)
ETag: "9774-56aca09afaf80"
#长连接超时时间
Keep-Alive: timeout=5, max=96
#最后一次修改时间
Last-Modified: Fri, 27 Apr 2018 01:01:02 GMT
#服务加版本号
Server: Apache/2.4.6 (CentOS) PHP/5.4.16

HTTP请求方法

HTTP请求报文中的方法(Method),是对所请求对象所进行的操作,也就是一些命令。请求报文中的操作有:

方法(Method) 含义
GET 从指定的资源请求数据
POST 向指定的资源提交要被处理的数据
DELETE 删除Web页面
CONNECT 用于代理服务器
HEAD 请求读取一个Web页面的头部
PUT 请求存储一个Web页面
TRACE 用于测试,要求服务器送回收到的请求
OPTION 查询特定选项

状态码

状态码(status-code)是响应报文状态行中包含的一个3位数字,指明特定的请求是否被满足,如果没有满足,原因是什么。状态码分为以下五类:

状态码 含义
200 成功
301 永久重定向(跳转)
302 临时重定向(跳转)
304 本地缓存
307 内部重定向(跳转)
400 客户端错误
401 认证失败
403 找不到主页,权限不足
404 找不到站点目录
500 内部错误
502 找不到后端主机
503 服务器过载
504 后端主机超时

HTTP协议总结

1.用户输入域名 - > 浏览器跳转 - > 浏览器缓存 - > Hosts文件 - > DNS解析(递归查询|迭代查询)
    客户端向服务端发起查询 - > 递归查询
    服务端向服务端发起查询 - 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值