http协议

Web服务基础

用户访问网页基本流程

(1)在浏览器中输入域名,系统会查找系统本地的DNS缓存及hosts文件信息,查找是否存在域名对应的IP解析记录

(2)DNS解析域名为IP地址,系统会把浏览器的解析请求发送给客户端本地设置的DNS服务器地址解析,如果LDNS(local DNS)服务器的本地缓存有对应的解析记录就会直接返回IP地址给客户端(如果没有,则LDNS会负责继续请求其他的DNS服务器)

(3)对目标进行TCP三次握手

(4)向Web服务器发起了一个请求URL

(5)服务器响应请求,回复一个响应包

(6)浏览器解析响应包出现我们看到的网页

 

DNS解析过程

(1)去系统本地的DNS缓存中查找域名对应的IP解析记录

(2)若没有,会向hosts文件信息中查找域名对应的IP解析记录

(3)若没有,会去LDNS发起请求查找域名对应的IP解析记录,LDNS会向LDNS副武器的本地魂村中查找,若没有,会向LDNS的映像文件/etc/hosts中查找

===============以上为DNS的递归查询=========================================

===============以下为DNS的迭代查询=========================================

(4)LDNS 会从DNS系统的(.)根开始请求该域名(www.baidu.com)的解析,根服务器下面是没有域名的解析记录的,但是跟下面有域名对应的顶级域.org的解析记录,则根会把.org对应的DNS服务器地址返回给LDNS

(5)若没有,LDNS获取到baidu.com对应的DNS服务器地址后,会去顶级域服务器请求该域名(www.baidu.com)的解析,baidu.com对应的DNS服务器是该域名(www.baidu.com)授权DNS服务器,会有对应的IP解析记录

(6)对应的域名DNS服务器会把域名对应的IP解析记录发给LDNS

(7)LDNS会受到对应的IP解析记录,并LDNS会把本地域名和IP的对应解析记录缓存起来,以便下次查找。

 

 

 

HTTP协议(超文本传输协议)

HTTP协议的WWW服务应用默认端口80;HTTPS默认443

WWW 万维网

 

统一资源定位符

URL=域名+URI(具体的资源位置)

组成:协议类型(protocol)、主机名(hostname)、端口(port)、路径及文件名(path)

一个完整的URL为一共请求

 

HTTP请求方法

GET  客户端请求指定资源信息,服务器返回指定资源(读请求)特点:速度非常快,明文信息,公开不加密(只有消息头,没有消息体)

HEAD 只请求响应报文(消息头和消息体)中的HTTP首部(只看消息体)

POST 将客户端的数据提交到服务器(写请求,向网页服务器写入内容)特点:加密请求,一般用在用户注册

PUT 从客户端向服务器传送的数据取代指定的文档内容

DELETE请求服务器删除Request-URI所标识的资源

MOVE 请求服务器将制定的页面移至另一个网络地址

 

消息头与消息体

消息头:记录用户的属性及请求信息与响应信息与访问状态

消息体:网页

 

模拟访问浏览器

# curl

# curl -v www.baidu.com

 

 

 

 

返回码

100-199 指定客户端相应的某些动作

200-299 表示请求成功

300-399 用于已经移动的文件并且常被包含在定位头消息中指定新的地址信息

400-499 指出客户端出现问题

500-599指出服务端

 

200 OK 操作成功

301 Moved Permanently永久重定向(永久跳转)

302 Found临时重定向(临时跳转)

304 Not Modified触发缓存(文档内容没有发生改变)

403 Forbidden权限拒绝

404 Not Found找不到网页

500 Internal Server Error内部服务器错误(查找防火墙安全机制被阻挡问题)

502 Bad Gateway网关出现问题(查找路由器问题,追踪网关)

503 Service Unavailable服务当前不可用(服务器宕机,服务器超载)

504 Gateway Timeout 网关超时

 

 

 

 

 

HTTP资源

媒体类型

Web服务器会把通过过Web传输的每个对象都打上名为MIME类型(MIME Type)的数据格式标签。

URL统一资源定位符

也称网址

三部分:

(1)协议

(2)主机资源服务器IP地址或域名(端口号)

(3)主机资源的具体地址,如目录和文件名

其中,第一部分与第二部分之间用“://”隔开,第二部分和第三部分用“:/”隔开,第三部分可以省略

 

静态网页资源

原文地址:https://www.cnblogs.com/Lassiter/p/10086693.html