网络协议与地址

目录:什么是HTTP协议、什么是HTTPS协议、什么是URL、URL编码、JavaScript、http参数中特殊字符处理、查看网页元素

什么是HTTP协议

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息

什么是HTTPS协议

HTTPS协议是为了数据传输安全的需要,在HTTP原有的基础上,加入了安全套接字层SSL协议,通过CA证书来验证服务器的身份,并对通信消息进行加密

什么是URL

URL,全称是UniformResourceLocator, 中文叫统一资源定位符,是互联网上用来标识某一处资源的地址。以下面这个URL为例,介绍下普通URL的各部分组成:

http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name

从上面的URL可以看出,一个完整的URL包括以下几部分:

1.协议部分:该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,如HTTP,FTP等等本例中使用的是HTTP协议。在”HTTP”后面的“//”为分隔符

2.域名部分:该URL的域名部分为www.aspxfans.com。一个URL中,也可以使用IP地址作为域名使用

3.端口部分:跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口

4.虚拟目录部分:从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。虚拟目录也不是一个URL必须的部分。本例中的虚拟目录是“/news/”

5.文件名部分:从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。本例中的文件名是“index.asp”。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名

6.锚部分:从“#”开始到最后,都是锚部分。本例中的锚部分是“name”。锚部分也不是一个URL必须的部分

7.参数部分:从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的参数部分为“boardID=5&ID=24618&page=1”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。

URL编码

为什么需要编码?

URL只能使用 ASCII 字符集来通过因特网进行发送。
也就是说URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号

这意味着 如果URL中有汉字,就必须编码后使用。

但是麻烦的是 标准的国际组织并没有规定具体的编码方法,而是交给应用程序(浏览器)自己决定。
这导致”URL编码”成为了一个混乱的领域。

怎样编码?

Url编码通常也被称为百分号编码,使用%百分号加上一个字节的十六进制形式

对于ASCII字符,字母a在ASCII码中对应的值为97,16进制是0x61,那么Url编码之后得到的就是%61,
字母abc,url编码后得到的就是%61%62%63

JavaScript

JavaScript 是脚本语言;是一种轻量级的编程语言。

JavaScript 是可插入 HTML 页面的编程代码。

unescape() 函数可对通过 escape() 编码的字符串进行解码。

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

http参数中特殊字符处理

在网址链接中,问号?表示后面要带参数

1. '+' URL 中+号表示空格 %2B
2. 空格 URL中的空格可以用+号或者编码 %20
3. '/' 分隔目录和子目录 %2F
4. '?' 分隔实际的 URL 和参数 %3F
5. '%' 指定特殊字符 %25
6. '#' 表示书签 %23
7. '&' URL 中指定的参数间的分隔符 %26
8. '=' URL 中指定参数的值 %3D 

查看网页元素

审查元素可以做到定位网页元素、实时监控网页元素属性变化的功能,可以及时调试、修改、定位、追踪检查、查看嵌套 ,修改样式和查看js动态输出信息