URL简介&HTTP协议

世界上任何一栋建筑必须有一个地址才能找到

互联网上任何一个资源必须有一个“URL”才能被访问

URL的完整格式:

<scheme>://<user>:<pwd>@<host>:<port>/<path>;<params>?<query>#<frag>

scheme:方案,指定以哪种协议从服务器获取指定资源;方案名不区分大小写,常见方案:HTTP、HTTPS、FTP、MAILTO、RTSP、FILE、NEWS、TELNET等

host:主机名,资源所在服务器的ip地址或者域名

port:端口号,没想服务在服务器上都对应一个监听端口号

注:访问某个资源必须通过ip地址,dns用于将域名(例如www.baidu.com)解析为ip地址。

最常见的能上QQ,打不开网页,原因就是DNS配置错误。

path:路径,服务器上资源的本地名称,由一个/将其与前面的URL组件分割开来

params:参数,某些方案会使用参数来指定输入参数,每个参数都采用“名/值”对形式,一个URL中可以有多个参数,使用分号隔开。

query:查询字符串,某些方案会使用查询字符串传递参数以激活应用程序,使用?与其他组件分隔。

frag:片段,也称为anchor锚点、tag书签,指一个资源中某一部分的名字。通过#与其他分隔。

HTTP协议

1.作用

规范了数据是如何打包的以及数据是如何传递的

2.Message  消息/报文

在HTTP客户端与服务器间传递的数据块。

分类:

1.Request Message : 客户端向服务器发送的请求

2.Response Message : 服务器端根据客户端的请求消息,返回给客户端的响应消息

以Firefox为例,按F12进行调试,点击网络选项卡

这是在地址栏输入www.baidu.com并回车后的结果,在网页中,凡是有href和src的地方都会向服务器发送一个请求。

点击上图中红色方框内的www.baidu.com

3.请求消息(Request Message)

①请求起始行

请求方法(GET)  请求URL(www.baidu.com)  协议(HTTP)和版本号(1.1)

GET:表示客户端想获取服务器上的资源。1.无请求主体  2.依靠地址栏传递数据给服务器

POST : 表示客户端想传递数据给服务器。有请求主体

②请求头

Host:www.baidu.com  请求的主机地址

Connection:keep-alive   告诉服务器做持久连接

User-Agent        告诉服务器,浏览器的类型

Cache-Control:max-age=0   告诉服务器缓存信息,不缓存

Accept-Language      告诉服务器自己能接收的自然语言

③请求主体

Form Data 是请求主体

注:Query String(查询字符串)不是请求主体,是URL的一部分。

4.响应消息(Response Message)

①响应起始行

协议版本号(HTTP/1.1)  响应状态码(200) 原因短句(OK)

200:OK      404:Not Found

②响应头

content-type  响应的主体类型,告诉浏览器响应的数据是什么格式以及什么类型的

③响应主体

原文地址:https://www.cnblogs.com/1016391912pm/p/11839583.html