关于Nginx的一些你不得不知道的内容(HTTP协议基础知识),内容比较多建议收藏哦

简介: IP是分配给网卡的地址,用来找到网络上的一台设备,实现相互通信。   IP的格式是四个8位的二进制整数,可以转换成0-255的十进制数字。   因为接入网络的设备越来越多,IPV4不够用了,所以现在又诞生了 IPV6。   只有IP还不够,因为一个设备上运行的程序很多,如果要找到指定的程序,必须给 每个程序分配一个端口。端口的范围是0到65535。
  • image.png

HTTP协议基础知识

1. IP 和端口

  IP是分配给网卡的地址,用来找到网络上的一台设备,实现相互通信。

  IP的格式是四个8位的二进制整数,可以转换成0-255的十进制数字。

  因为接入网络的设备越来越多,IPV4不够用了,所以现在又诞生了 IPV6。

  只有IP还不够,因为一个设备上运行的程序很多,如果要找到指定的程序,必须给

每个程序分配一个端口。端口的范围是0到65535。

  比如FTP服务的21端口,HTTP服务的80端口, MySQL默认3306端口,Redis默

认6379端口。

2.URL的组成?

  因为IP端口对于用户来说非常难以识别和记忆,所以我们又发明了域名(Domain Name) o因为域名是唯一的,而且会包含一些特殊含义,域名资源也非常珍贵,早年就 有人靠炒域名发了家。

  我们在浏览器输入域名,就会自动地转换成IP,访问到相应的服务器。这个把域名 转换成IP的系统叫做DNS (Domain Name Server),域名解析服务。

URL的格式:

https://www. baidu.com
https://map.baidu.com

包括几项:

  协议,比如FTP、HTTP、HTTPS等等。

  子域名,顶级域名的前缀,其实WWW就是一个约定俗成的二级域名,也叫子域名, 子域名可以有多级,比如QQ空间的地址,就是二级子域名:

https://user.qzone.qq.com/694100510

  域名类型,比如.com、.net、・cn等等,是不同的组织机构管理的。

  端口号,如果不写的话就是默认端口,比如HTTP的80端口,HTTPS的443端口。 后面就是资源路径和参数。

3.HTTP协议有什么特点?

  简单快速:格式简单,通信快速

  灵活:传输数据类型丰富

  无连接:收到应答断开连接

  无状态:不需要先前的信息,cookie, sessiono

4.HTTP协议的请求格式是什么样的?

主要包括:请求行(request line).请求头(header) s空行和请求数据

GET /item/bobo/23753047?fr-aladdin HTTP/1.1
Host: baike.baidu.com
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/57.0.2987.98 Safan/537.36 LBBROWSER
Accept: text/htmLapplication/xhtml+xmLapplication/xml;q=0.9,image/webp,*/*;q=0.8
Refer er: https://www.baidu.com/link?url=WiJWxlZKtr&wd=&eqid=86b000
Accept-Encoding: gzip, deflate, sdch, br
Accept-Laiiguage: zh-CN,zh;q=0.8
Cookie: BAIKE_SHITONG=%7B%22dBAIA18d7c93a=1609302264

body没写,POST会携带请求数据。

5.HTTP协议的请求类型有哪些?

  • GET:请求指定的页面信息,并返回实体主体。
  • HEAD:类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头。
  • POST:向指定资源提交数据进行处理请求,数据被包含在请求体中。
  • PUT:从客户端向服务器传送的数据取代指定的文档的内容。
  • DELETE:请求服务器删除指定的页面。
  • CONNECT: HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
  • OPTIONS:允许客户端查看服务器的性能。
  • TRACE:回显服务器收到的请求,主要用于测试或诊断。

6.HTTP协议的响应格式是什么样的?

主要包括:状态行、消息头、空行和响应正文

HTTP/1.1 200 OK
Connection: keep-alive
Content-Encoding: deflate
Content-Security-Policy-Report-Only: default-src https: Unsafe-inline1 iinsafe-evaf data: blob: ; report-uri https://reports.baidu.com/cspTeport/baike
Content-Type: text/html; charset=UTF-8
Date: Wed, 30 Dec 2020 04:57:22 GMT
Server: Apache
Set-Cookie:BDUSS_BFESS=ZoWHk4VlQxVllseGs5dXVary: Accept-Encoding
Transfer-Encoding: chunked

响应的body省略。

7. HTTP格式响应状态码有哪些?

响应码 类型 含义
1XX Informational (信息性状态码) 收的请求正在处理
2XX Success (成功状态码) 请求正常处理完毕
3XX Redirection (重定向状态码) 需要进行附加操作以完成请求
4XX Client Error (客户端错误状态码) 服务器无法处理请求
5XX Server Error (服务器错误状态码) 服务器处理请求出错

8.请求、响应的Header字段有哪些?

https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

通用Header字段

字段 含义
Cache-Control 控制缓存的行为
Connection 控制不再转发给代理的首部字段、管理持久连接
Date 创建报文的日期时间
Pragma 报文指令
Trailer 报文末端的首部一览
Transfer-Encoding 指定报文主体的传输编码方式
Upgrade 升级为其他协议
Via 代理服务器的相关信息
Warning 错误通知

请求Header字段

字段 含义
Accept 用户代理可处理的媒, 本类型
Accept-Charset 优先的字符集
Accept-Encoding 优先的内容编码
Accept-Language 优先的语言(自然语言)
Authorization Web认证信息
Expect 期待服务器的特定行为
From 用户的电子邮箱地址
Host 请求资源所在服务器
If-Match 比较实体标记(ETag)
If-Modified-Since 比较资源的更新时间
If-None-Match 比较实体标记(与If-Match相反)
If-Range 资源未更新时发送实, '本Byte的范围请求
If-Unmodified-Since 比较资源的更新时间(与If-Modified-Since相反)
Max-Forwards 最大传输逐跳数
Proxy-Authorization 代理服务器要求客户端的认证信息
Range 实4 本的字节范围请求
Referer
TE 传输编码的优先级
User-Agent HTTP客户端程序的信息

响应头 Header

字段 含义
Accept-Ranges 是否接受字节范围请求
Age 推算资源创建经过时间
ETag 资源的匹配信息
Location 令客户端重定向至指定URI
Proxy-Authenticate 代理服务器对客户端的认证信息
Retry-After 对再次发起请求的时机要求
Server HTTP服务器的安装信息
Vary 代理服务器缓存的管理信息
WWW-Authenticate 服务器对客户端的认证信息

实体 Header

请求消息和响应消息都可以包含实体信息。

字段 含义
Allow 资源可支持的HTTP方法
Content-Encoding 实体主体适用的编码方式
Content-Language 实体主体的自然语言
Content-Length 实体主体的大小
Content-Location 替代对应资源的URI
Content-MD5 实体主体的报文摘要
Content-Range 实体主体的位置范围
Content-Type 实体主体的媒体类型
Expires 实体主体过期的日期时间
Last-Modified 资源的最后修改日期时间

好了这块内容就给大家讲解到这儿,下篇开始讲解Nginx的安装操作!!!


相关文章
|
3月前
|
缓存 监控 搜索推荐
301重定向实现原理全面解析:从HTTP协议到SEO最佳实践
301重定向是HTTP协议中的永久重定向状态码,用于告知客户端请求的资源已永久移至新URL。它在SEO中具有重要作用,能传递页面权重、更新索引并提升用户体验。本文详解其工作原理、服务器配置方法(如Apache、Nginx)、对搜索引擎的影响及最佳实践,帮助实现网站平稳迁移与优化。
484 68
|
2月前
HTTP协议中请求方式GET 与 POST 什么区别 ?
GET和POST的主要区别在于参数传递方式、安全性和应用场景。GET通过URL传递参数,长度受限且安全性较低,适合获取数据;而POST通过请求体传递参数,安全性更高,适合提交数据。
402 2
|
3月前
|
存储 网络协议 安全
HTTP 协议及会话跟踪机制详解
本文详解了 HTTP 协议的核心知识,包括其定义(超文本传输协议,基于 TCP,规定客户端与服务器通信规则)及与 HTTPS 的区别(安全性、端口、资源消耗)。 介绍了 GET 与 POST 请求的差异(参数限制、安全性、应用场景),以及 Restful 风格(通过 URL 定位资源,请求方式决定操作)。列举了常见 HTTP 状态码(如 200 成功、404 资源未找到),对比了转发与重定向的区别(服务器端一次请求 vs 客户端两次请求)。 还阐述了会话跟踪机制:Cookie 基于客户端存储,通过Set-Cookie和Cookie头实现,安全性较低;Session 基于服务端存储,依赖 C
255 1
|
2月前
|
缓存 网络协议 UED
深度解析HTTP协议从版本0.9至3.0的演进和特性。
总的来说,HTTP的演进是互联网技术不断发展和需求日益增长的结果。每一次重要更新都旨在优化性能,增进用户体验,适应新的应用场景,而且保证了向后兼容,让互联网的基础架构得以稳定发展。随着网络技术继续进步,我们可以预期HTTP协议在未来还会继续演化。
350 0
|
3月前
|
XML 安全 网络架构
深度对比SOAP与HTTP协议:详细理解它们的工作原理和差异
在设计服务和系统交云策略时,考虑到上述差异是至关重要的。SOAP适合需要高安全性、可靠性和事务支持的企业级应用。而HTTP适合Web界面浏览、RESTful服务和需要快速响应的轻量级通信。根据具体需求和上下文,开发者可以选择合适的协议以实现最优的系统性能和用户体验。
335 0
|
4月前
|
安全 应用服务中间件 Linux
Debian操作系统如何安装Nginx并开启HTTP2
本指南介绍了在Linux系统中通过源码编译安装Nginx的完整流程。首先更新软件包列表并安装必要的编译依赖,接着下载指定版本的Nginx源码包(如1.24.0),检查文件完整性后解压。随后通过配置脚本指定安装路径与模块(如HTTP SSL模块),执行编译和安装命令。最后创建软链接以便全局调用,并提供启动、停止及重载Nginx的命令,同时提醒注意安全组设置以确保正常访问。
|
4月前
|
缓存
HTTP协议深度剖析:常见请求头信息讲解
这就是HTTP请求头背后的工作原理,希望通过比作“邮差”和“标签”,可以让你对这个繁琐技术更有感触,更得心应手。尽管这些信息可能很琐碎,但了解了它们的含义和工作方式,就等于揭开了HTTP协议神秘的面纱,掌控了网络交流的核心。你还等什么,赶快动手尝试一下吧!
142 17
|
3月前
HTTP协议中常见的状态码 ?
HTTP协议状态码分为1xx、2xx、3xx、4xx、5xx五类。常见状态码包括:101(切换协议)、200(请求成功)、302(重定向)、401(未认证)、404(资源未找到)、500(服务器错误)。
304 0
|
4月前
HTTP协议探究:常用方法一网打尽
总的来说,HTTP协议的命令犹如一把钥匙,解锁了互联网世界的大门。它是规则,也是工具,了解了它,就等于掌握了互联网的一把通行证。我们每天都在用,也常常无视它,但是只有深刻理解了它,才能更好地运用它。如此,我们的互联网世界旅程就会变得更加顺畅,更加有趣。
123 14