且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-03-22 01:21:29

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

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的安装操作!!!