07@http协议的原理详解

1|0HTTP协议

1|1一、http协议详解

1.什么是HTTP
HTTP 全称:Hyper Text Transfer Protocol 中文名:超文本传输协议 HTTP协议简单的说,将用户请求的页面从服务器传输到客户的浏览器,浏览器进行解析,解析以后变成一个我们人类可以理解的方便观看的页面
2.什么是超文本
包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。 超文本文件(Hypertext)就是指具有超链接功能的文件,它可以将文件中已经定义好的关键字(Keyword),经过鼠标的点取(Click),便可以得到该关键字的相关解释
3.什么是URL
统一资源定位符 当我们访问:baidu.com 其实他访问的是:http://www.baidu.com:80/index.html URL: http:// www.baidu.com :80 /index.html #协议 #域名 #端口 #文件及其路径 协议:协议还有很多,ftp、file、ssh、ws 域名:代表我们访问的主机,域名好记 端口:进入我们服务器的门 文件路径:服务器上的资源,实际路径有web服务决定 html文件->包含各种各样的元素(URL链接)->形成WebPage简称web页面 URL HTML HTTP 之间的关系 一个完整的HTML页面是由很多个URL地址资源组成的,而HTTP协议是来传输和解析HTML页面的

1|2二、HTTP工作原理

1|01、基本信息
Request URL: http://192.168.15.7/bg.jpg URL Request Method: GET 请求类型 Status Code: 200 OK 请求状态 Remote Address: 192.168.15.7:80 访问后端主机和端口 Referrer Policy: strict-origin-when-cross-origin Accept: text/html,ap 访问的文本类型 Accept-Encoding: gzip, deflate 指定文本压缩方法 Accept-Language: zh-CN,zh;q=0.9 指定语言 Cache-Control: no-cache 缓存 Connection: keep-alive Host: www.abc.com 网址 Pragma: no-cache Upgrade-Insecure-Requests: 1 升级 User-Agent: Mozilla/5.0 (Win 浏览器agent Accept-Ranges: bytes Connection: Keep-Alive Content-Length: 2633 资源大小 Content-Type: text/html; charset=UTF-8 返回的类型 Date: Sun, 25 Apr 2021 08:03:40 GMT 时间 ETag: "a49-56b5ce607fe00" Keep-Alive: timeout=5, max=100 Last-Modified: Fri, 04 May 2018 08:13:44 GMT Server: Apache/2.4.6 (CentOS) PHP/5.4.16 服务器Server端
1|02、请求类型
在HTTP请求报文中的方法(Method),是对所请求对象所进行的操作,也就是一些命令。 #请求报文中的操作有:
方法(Method)含义
GET请求读取一个Web页面
POST附加一个命名资源(如Web页面)
DELETE删除Web页面
CONNECT用于代理服务器
HEAD请求读取一个Web页面的头部
PUT请求存储一个Web页面
TRACE用于测试,要求服务器送回收到的请求
OPTION查询特定选项
GET :请求数据 POST :写数据 PUT : 修改数据 DELETE:删除数据 POST请求比GET请求要更安全
1|03、HTTP请求状态码
状态码含义
200成功
301永久重定向(跳转)
302临时重定向(跳转)
304本地缓存
307内部重定向(跳转)
400客户端错误
401认证失败
403找不到主页,权限不足
404找不到页面
500内部错误
502找不到后端主机
503服务器过载
504后端主机超时
200 成功 301 302 304 404 返回不存在的页面 403 没有访问权限 500 服务器端错误 501
1|04、http 和 https 之间的区别
http: 无证书, 容易被网络DNS劫持 https: 有证书 相对安全
1|05、http 1.0 和 http 1.1
http 1.0 : 短链接 http 1.1 : 长链接 http1.0:短连接,一次TCP连接,仅能发起一次请求 http1.1:长连接,一次TCP连接,可以多次请求 http2.0: HTTPS http3.0
1|06、常用的web服务器
Apache、Nginx、tomcat
1|07、http名词
假设公司有一座大厦,大厦有100人,每个人有一台电脑和一部手机,上网都是通过nat转换出口,每个人点击网站2次, 请问对应的pv,uv,ip分别是多少? pv 100人 * 2设备 * 2次 = 400 pv uv 100人 * 2设备 = 200 uv ip 100人 2设备 2次 1 nat 1 ip 面试题:商家公司的IP、PV、UV是怎么统计的 1.nginx日志,分析筛选 2.第三方统计工具:腾讯移动分析、百度统计、piwik 面试题:你们上家公司PV是多少 小说网站 1分钟请求 5000 平均日pv = 720万 教育网站 1分钟请求 10000 平均日pv = 1440万 在线人数,日活跃,月活跃

8、静态请求和动态请求

#静态请求: web直接返回给负载均衡->防火墙->用户 #动态请求: web向后端的动态程序建立TCP连接,将用户的动态http请求传递至动态程序->由动态程序进行解析

1|3三、HTTP协议原理(总结)

1.用输入域名 - > 浏览器跳转 - > 浏览器缓存 - > Hosts文件 - > DNS解析(递归查询|迭代查询) 客户端向服务端发起查询 - > 递归查询 服务端向服务端发起查询 - > 迭代查询 2.由浏览器向服务器发起TCP连接(三次握手) 客户端 -->请求包连接 -syn=1 seq=x 服务端 服务端 -->响应客户端syn=1 ack=x+1 seq=y 客户端 客户端 -->建立连接 ack=y+1 seq=x+1 服务端 3.客户端发起http请求: 1)请求的方法是什么: GET获取 2)请求的Host主机是: www.driverzeng.com 3)请求的端端口是什么: 默认http是80 https是443 4)请求的资源是什么: /index.html 5)请求携带的参数是什么: 属性(请求类型、压缩、认证、浏览器信息、等等) 6)请求最后的空行 4.服务端响应的内容是 1)服务端响应使用WEB服务软件 2)服务端响应请求文件类型 3)服务端响应请求的文件是否进行压缩 4)服务端响应请求的主机是否进行长连接 5)服务端将数据放回给浏览器 5.客户端向服务端发起TCP断开(四次挥手) 客户端 --> 断开请求 fin=1 seq=x --> 服务端 服务端 --> 响应断开 fin=1 ack=x+1 seq=y --> 客户端 服务端 --> 断开连接 fin=1 ack=x+1 seq=z --> 客户端 客户端 --> 确认断开 fin=1 ack=x+1 seq=sj --> 服务端

__EOF__

本文作者ଲ小何才露煎煎饺
本文链接https://www.cnblogs.com/zeny/p/15121578.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ଲ小何才露煎煎饺  阅读(123)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示