域名解析url转发,浏览器域名解析过程
一.网址格式
HTP :主机[:端口] [ ABS _ path ] [:参数]?查询]#片段
例:3358 www . imail tone . com:80/web application 1/web form 1 . aspx?Name=Tom年龄=20 #简历
http
表示使用HTTP协议识别网络资源。Host表示合法的Internet主机域名或IP地址。
Port用于表示在传输层交换信息的进程的端口号。http协议的默认端口号是80。当然,默认端口号因协议而异。
Abs_path指定所请求资源的统一资源定位符(uri)。
参数是用于指定特殊参数的选项。
?Query是可选的,用于将参数传递给动态网页(使用PHP/JSP等创建的网页)。).可以有多个参数,用符号“”分隔,每个参数的键值用“=”分隔。
可以这样分析URL地址(python)。
导入urlparse
lis=urlparse.urlparse(url)
URL= http://zh.Wikipedia.org:80/维基/特别3360搜索?搜索=铁路go=Go
URL地址完全按照上面的格式解析。
是http协议;
Zh.wikipedia.org,服务器;
80是HTTP协议的默认端口。
/wiki/special:搜索服务器上包含资源的目录的路径。
query= search= xcc xfa xc2 xb7go=go 是对动态网页的查询。
二。服务器和浏览器之间通过HTTP的交互
(1) http请求
客户端通过发送http请求来请求服务器访问资源。
Http请求由三部分组成:请求行、信息标题和请求体。
请求行的格式如下:
方法请求-uri http-版本crlf
第一参数法的符号和具体方法如下
第二个参数是请求统一资源定位器(uri)
第三个参数表示协议的版本。
第四个是换行符。
这四个部分用空格隔开。除了结尾,其他三个部分不能使用CR或LF字符。
例如get/tmp.htmlhttp/1.1(crlf))。
)2) http请求方法
我们来举几个例子。
GET方法:在浏览器地址栏输入URL访问网页时,浏览器使用GET方法从服务中获取资源。
例如GET请求-URL HTTP/1.1
POST方法:该方法用于向服务器发送请求。此方法要求服务器接收附加到请求的数据,通常用于发送表单数据。
例如发布/登录。JSPhttp/1.1(crlf)
HTML
文档中,书写get和post,不区分大小写,但HTTP协议中的GET和POST只能是大写形式。
Header方法:header方法和GET方法几乎一样。不同的是,HEAD方法只请求消息头,而不是完整的内容。
以这种方式,可以获得由请求URI标识的资源的信息,而无需发送整个资源的内容。
(3) HTTP响应
当接收和解释请求消息时,服务器返回HTTP响应消息。
和HTTP请求一样,HTTP响应是
状态行,消息报头,相应正文。
。p状态行由协议版本、数字状态代码和相应的状态描述组成。每个元素由空格分隔,除了结尾的CRLF(回车和换行)序列外,不允许使用CR或LF字符。格式如下:
HTTP-Version Status-Code Reason-Phrase CRLF
HTTP-Version表示服务器的HTTP协议的版本,Status-Code表示服务器发回的响应代码,Reason-Phrase表示状态代码的文本描述,CRLF表示回车和换行。
Status-Code:由三位数字组成,表示请求是否被理解或满足;
代码的第一个数字代表响应的类别:
1xx:指示消息3354表示请求已收到,继续处理。
XX: Success 3354表示请求已被成功接收、理解和接受。
3xx: Redirect ——需要进一步的操作来完成请求。
4xx:客户端错误3354请求有语法错误或者请求无法实现。
5xx:服务器端错误3354服务器无法满足合法请求。
原因短语:状态代码的简短文本描述;
例如:
HTTP/1.1 200 OK (CRLF)
参考资料:
圣骑士风的博客