首页 > 系统相关 >Linux-HTTP协议

Linux-HTTP协议

时间:2023-02-08 21:00:10浏览次数:62  
标签:baidu 协议 www HTTP 请求 --- Linux com

HTTP协议

一、HTTP概述

默认端口是80

HTTP超文本传输协议:

  • 传输:网站的数据如何传递给用户

  • 超文本:文本、图片、视频

  • 用户打开网站后:网站如何传递给用户

  • 专业名字:数据请求与响应

请求request:打开网站,访问网站

响应response: 网站显示出,返回给你想要的内容

#> 是请求,  <是响应
[root@web01 ~]# curl -v baidu.com
* About to connect() to baidu.com port 80 (#0)
*   Trying 39.156.66.10...
* Connected to baidu.com (39.156.66.10) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: baidu.com
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Wed, 08 Feb 2023 11:28:38 GMT
< Server: Apache
< Last-Modified: Tue, 12 Jan 2010 13:48:00 GMT
< ETag: "51-47cf7e6ee8400"
< Accept-Ranges: bytes
< Content-Length: 81
< Cache-Control: max-age=86400
< Expires: Thu, 09 Feb 2023 11:28:38 GMT
< Connection: Keep-Alive
< Content-Type: text/html
< 
<html>
<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
</html>
* Connection #0 to host baidu.com left intact

#request是请求  response是响应
[root@web01 ~]# wget --debug www.baidu.com
DEBUG output created by Wget 1.14 on linux-gnu.

URI encoding = ‘UTF-8’
Converted file name 'index.html' (UTF-8) -> 'index.html' (UTF-8)
Converted file name 'index.html' (UTF-8) -> 'index.html' (UTF-8)
--2023-02-08 19:29:26--  http://www.baidu.com/
Resolving www.baidu.com (www.baidu.com)... 110.242.68.4, 110.242.68.3
Caching www.baidu.com => 110.242.68.4 110.242.68.3
Connecting to www.baidu.com (www.baidu.com)|110.242.68.4|:80... connected.
Created socket 3.
Releasing 0x0000000000831a10 (new refcount 1).

---request begin---
GET / HTTP/1.1
User-Agent: Wget/1.14 (linux-gnu)
Accept: */*
Host: www.baidu.com
Connection: Keep-Alive

---request end---
HTTP request sent, awaiting response... 
---response begin---
HTTP/1.1 200 OK
Content-Length: 2381
Content-Type: text/html
Server: bfe
Date: Wed, 08 Feb 2023 11:29:26 GMT

---response end---
200 OK
Registered socket 3 for persistent reuse.
Length: 2381 (2.3K) [text/html]
Saving to: ‘index.html.1’

100%[===================================================================================================================>] 2,381       --.-K/s   in 0s      

2023-02-08 19:29:26 (262 MB/s) - ‘index.html.1’ saved [2381/2381]

二、 HTTP协议版本

HTTP2与HTTP1.1加载速度对比

http1.0 http1.1 http2.0 http3.0
特点 短连接,每次请求都需要重复建立断开连接 加入长连接功能 增加并发,访问更快 基于upd,访问更快
占用服务端资源 keepalive功能
网站响应后不会立刻断开,保留下 这个连接
应用于流媒体
是否加密 http 不加密的
https 加密的
默认基于https
基于tcp/udp tcp tcp tcp udp

三、 HTTP协议详解

1. HTTP请求

1.1 概述

[root@web01 ~]# wget --debug www.baidu.com
---request begin---
GET / HTTP/1.1							#请求起始行:做什么  找什么
User-Agent: Wget/1.14 (linux-gnu)		#请求头 自报家门
Accept: */*										
Host: www.baidu.com					    #      指定网站     
Connection: Keep-Alive				
										#(空行)分割请求主体
---request end---						#请求报文主体,一般是上传才有

1.2 请求报文起始行行

  1. 请求方法:用于指定客户端如何访问服务端(下载,上传,查看服务端信息)

    常用的请求方法 说明
    GET 下载(大部分请求)
    POST 上传(上传文件内容,登录)
    HEAD 类似与GET,仅仅输出响应的头部信息(查看服务端的信息,一般用于检查)
    #HEAD
    [root@web01 ~]# curl -v -I www.baidu.com
    * About to connect() to www.baidu.com port 80 (#0)
    *   Trying 110.242.68.4...
    * Connected to www.baidu.com (110.242.68.4) port 80 (#0)
    > HEAD / HTTP/1.1
    > User-Agent: curl/7.29.0
    > Host: www.baidu.com
    > Accept: */*
    > 
    
  2. 资源的位置(URI):这个资源在网站站点目录的哪个地方,叫什么名字

    补充:

    URI(统一资源标识符)

    站点目录是用于存放网站代码的地方。

1.3 请求头

字段 含义
User-Agent 客户端代理(用什么工具访问网站),浏览器
Host 表示访问的目标网站:域名或ip

1.4 浏览器调试查看

浏览器的调试功能:DevTools

F12或Fn+F12查看"网络"部分即可.

2. HTTP响应

2.1 概述

---response begin---
HTTP/1.1 200 OK							#HTTP响应起始行
Content-Length: 2381					#http响应头
Content-Type: text/html					#
Server: bfe								#
Date: Wed, 08 Feb 2023 11:29:26 GMT		#
										#空行(分隔)
---response end---
										#响应报文的主体

2.2 响应报文起始行

  • 协议与版本 HTTP/1.1
  • 状态码:数字3位,用于描述服务端是否能找到或处理用户的请求 200 ok

2.3 响应头

字段 说明
Server 显示服务端使用的web服务器及版本
Content-Length 大小
Content-Type 媒体类型(文件类型)
Location 跳转之后的新的位置,跳转的时候才有

3. http协议状态码

状态码:错误提示,反映出服务端是否能够正常的处理用户请求

状态码网址

状态码 含义
2xx 表示正常
3xx 表示需要进行跳转,表示正常
4xx 表示异常,客户端问题
5xx 表示异常,服务端问题
详细的状态码 说明
200 访问正常
301 Moved Permanently 永久跳转
302 Found或Moved Temporarily 临时跳转
304 Not Modified 浏览器缓存
403 Forbidden 权限拒绝,权限问题或首页文件问题
404 Not Found 文件找不到
500 Internal Error 内部错误,Selinux开启
502 Bad Gateway 网关错误,一般发生在负载中,请求发送到后面,后面无人处理,提示502
503 service temporarily unavailable 服务临时不可用,后端负载异常,人为设置(升级)
504 Gateway Time-out 网关超时

四、衡量系统访问量指标

1.概述

指标 说明
ip 访问网站的独立ip数量,公网ip
PV 页面访问量Page view
UV 独立访客数量,接近于用户数量 Unique Vistor
DAU 每天的活跃用户的数量: 日活(日活跃用户)
MAU 月活(月活跃用户)

可以查询网站访问量的网址

标签:baidu,协议,www,HTTP,请求,---,Linux,com
From: https://www.cnblogs.com/world-of-yuan/p/17103274.html

相关文章