0
点赞
收藏
分享

微信扫一扫

07@http协议的原理详解


文章目录

  • ​​HTTP协议​​
  • ​​一、http协议详解​​
  • ​​1.什么是HTTP​​
  • ​​2.什么是超文本​​
  • ​​3.什么是URL​​
  • ​​二、HTTP工作原理​​
  • ​​1、基本信息​​
  • ​​2、请求类型​​
  • ​​3、HTTP请求状态码​​
  • ​​4、http 和 https 之间的区别​​
  • ​​5、http 1.0 和 http 1.1​​
  • ​​6、常用的web服务器​​
  • ​​7、http名词​​
  • ​​三、HTTP协议原理(总结)​​

HTTP协议

一、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页面的

二、HTTP工作原理

1、基本信息

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)

2、请求类型

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

#请求报文中的操作有:

方法(Method)

含义

GET

请求读取一个Web页面

POST

附加一个命名资源(如Web页面)

DELETE

删除Web页面

CONNECT

用于代理服务器

HEAD

请求读取一个Web页面的头部

PUT

请求存储一个Web页面

TRACE

用于测试,要求服务器送回收到的请求

OPTION

查询特定选项

GET  :请求数据
POST :写数据
PUT :

3、HTTP请求状态码

状态码

含义

200

成功

301

永久重定向(跳转)

302

临时重定向(跳转)

304

本地缓存

307

内部重定向(跳转)

400

客户端错误

401

认证失败

403

找不到主页,权限不足

404

找不到页面

500

内部错误

502

找不到后端主机

503

服务器过载

504

后端主机超时

200    成功
301
302
304
404 返回不存在的页面
403 没有访问权限
500 服务器端错误
501

4、http 和 https 之间的区别

http:    无证书, 容易被网络DNS劫持
https: 有证书 相对安全

5、http 1.0 和 http 1.1

http 1.0 : 短链接
http 1.1 :

6、常用的web服务器

Apache、Nginx、tomcat

7、http名词

pv    100人 * 2设备 * 2= 400 pv
uv 100人 * 2设备 = 200 uv
ip 1002设备 21 nat 1 ip

面试题:商家公司的IP、PV、UV是怎么统计的
1.nginx日志,分析筛选
2.第三方统计工具:腾讯移动分析、百度统计、piwik

面试题:你们上家公司PV是多少
小说网站 1分钟请求 5000 平均日pv = 720
教育网站 1分钟请求 10000 平均日pv =

8、静态请求和动态请求

#静态请求:
web直接返回给负载均衡->防火墙->用户


#动态请求:
web向后端的动态程序建立TCP连接,将用户的动态http请求传递至动态程序->由动态程序进行解析

三、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 -->


举报

相关推荐

0 条评论