PHP实战中知识总结 / HTTP - 其他
一、URL
URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址。Web浏览器通过URL从Web服务器请求页面。统一资源定位器(URL) 用于定位万维网上的文档。
URL和URI的区别
(1)URI(统一资源标识符)是标识逻辑或物理资源的字符序列,与URL类似,也是一串字符。通过使用位置,名称或两者来标识Internet上的资源;它允许统一识别资源。
(2)UR主要用于链接网页,网页组件或网页上的程序,借助访问方法(http,ftp,mailto等协议)来检索位置资源。URI用于定义项目的标识,此处单词标识符表示无论使用的方法是什么(URL或URN),都要将一个资源与其他资源区分开来。
(3)URL是URI的子集,但URI永远不能是URL
(4)URL指定要使用的协议类型,而URI不涉及协议规范。
二、GET和POST的区别
(1)GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接;
(2)POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。
(3)GET请求在URL中传送的参数是有长度限制的,而POST没有。
(GET方法提交的url参数数据大小没有限制,在http协议中没有对url长度进行限制(不仅仅是querystring的长度),这个限制是特定的浏览器及服务器对他的限制)
(4)POST相对于GET更加安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
(从传输的角度来说,他们都是不安全的,因为 HTTP 在网络上是明文传输的,只要在网络节点上捉包,就能完整地获取数据报文。get提交数据还可能会造成CSRF攻击)
(5)GET请求能够被缓存,GET请求会保存在浏览器的浏览记录中,以GET请求的URL能够保存为浏览器书签,post请求不会
三、HTTPS
HTTPS(Hypertext Transfer Protocol Secure):超文本传输安全协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性
特点
(1)内容加密:采用混合加密技术,中间者无法直接查看明文内容
(2)验证身份:通过证书认证客户端访问的是自己的服务器
(3)保护数据完整性:防止传输的内容被中间人冒充或者篡改