linux---集群架构初探(13)http与www服务基础介绍
早期只能通过ip地址访问网站,为了方便记忆,出现了域名与DNS解析
无论是windows还是linux,当使用域名访问网站时,系统都会先去本地hosts文件和DNS缓存中查找有没有该域名对应的ip地址,如果没有,再去指定的DNS服务器查找。
DNS解析流程
注:本地DNS服务器就是我们网卡配置的DNS地址。
域名解析是从后向前解析,如www.baidu.com是从com--->baidu--->www
查询dig命令的安装依赖包
安装
查看DNS解析流程
注:一般企业不会自建外网DNS,小企业一般直接使用购买域名时默认的DNS,大企业一般花钱购买DNSPOD等智能DNS解析.
HTTP协议
HyperText Transfer Protocol 超文本传输协议 互联网中最常用的一种协议。
http有很多应用,最流行的就是用于web浏览器和web服务器之间的通信,即www应用或web应用。
WWW
World Wide Web 万维网
HTTP协议的WWW服务应用的默认端口为80,另一个加密的https的默认端口为443
http请求方法:
http状态码
HTTP Status Code 用来表示Web服务器响应http请求状态的数字代码。每当web客户端向web服务器发送一个HTTP请求时,web服务器都会返回一个状态响应代码。三位数字。
常见状态码
200 - OK,服务器成功返回网页
- Standard response for successful HTTP requests.
301 - Moved Permanently(永久跳转),请求的网页已永久跳转到新位置。
- This and all future requests should be directed to the given.
403 - Forbidden(禁止访问),服务器拒绝请求
- forbidden request (matches a deny filter) => HTTP 403
- The request was a legal request, but the server is refusing to respond to it.
404 - Not Found,服务器找不到请求的页面。
- The requested resource could not be found but may be available again in the future.
500 - Internal Server Error(内部服务器错误)
- internal error in haproxy => HTTP 500
- A generic error message, given when no more specific message is suitable.
502 - Bad Gateway(坏的网关),一般是网关服务器请求后端服务时,后端服务没有按照http协议正确返回结果。
- the server returned an invalid or incomplete response => HTTP 502
- The server was acting as a gateway or proxy and received an invalid response from the upstream server.
503 - Service Unavailable(服务当前不可用),可能因为超载或停机维护。
- no server was available to handle the request => HTTP 503
- The server is currently unavailable (because it is overloaded or down for maintenance).
504 - Gateway Timeout(网关超时),一般是网关服务器请求后端服务时,后端服务没有在特定的时间内完成服务。
- the server failed to reply in time => HTTP 504
- The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
HTTP报文
报文是官方说法,即指http消息、数据包。
请求报文(Request Message):客户端发往服务器端的http报文
响应报文(Response Message):服务器端返回给客户端的http报文
请求报文格式
起始行 请求方法 URL 协议版本
请求头 相关信息,格式为 字段名:值,如 Connection: keep-alive
空 行 表示请求头结束
请求主体 GET方法没有请求报文主体,POST方法才有,包含发给web服务器的数据信息
响应报文格式
起始行 协议版本 数字状态码 状态信息
响应头 相关信息,格式为 字段名:值,如Content-Type: text/html
空 行 表示响应头结束
响应主体 web服务器返回的数据,如一个网页
http协议整体工作流程
①用户在浏览器地址栏输入URL
②web浏览器请求DNS服务器将域名解析为IP地址
③web浏览器将端口号从URL中解析出来,如http为80
④浏览器通过IP地址和端口号与web服务器之间建立一条TCP连接
⑤浏览器向服务器发送一条请求报文
⑥服务器向浏览器返回一条响应报文
⑦web服务器关闭http连接,关闭TCP连接,web浏览器显示返回的响应主体内容。
HTTP资源
web服务器会把通过web传输的每个对象都打上名为MIME类型的数据格式标签。
常用媒体类型