HTTPS第一集
Posted 程序员从放弃到入门
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTPS第一集相关的知识,希望对你有一定的参考价值。
yaozhu @ ustc
读完需要
速读仅需 3 分钟
lamp合集
Linux+Apache+mysql/MariaDB+Perl/php/Python一组常用来搭建动态网站或者服务器的开源软件。
1
HTTP
HTTPS就是HTTP secure
Hyper Text的名字由来应该是html,Hyper Text Markup Language
Request:
Response:
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。
更改了配置文件:
PUT:
2
URI
协议部分:该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,如HTTP,FTP等等本例中使用的是HTTP协议。在"HTTP"后面的“//”为分隔符。可以看一些其他协议譬如data和javascript的例子
data:,Hello%2C%20World!
简单的 text/plain 类型数据
data:text/plain;base64,SGVsbG8sIFdvcmxkIQ%3D%3D
base64 编码过的数据
data:text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E
一个HTML文档源代码 <h1>Hello, World</h1>
data:text/html,<script>alert('hi');</script>
一个会执行 JavaScript alert 的 HTML 文档。注意,script 闭标签是必须的。
javascript:alert(1)
端口部分:跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口。
路径部分:从域名后的第一个“/”开始到最后一个“/”为止,是路径部分。虚拟目录也不是一个URL必须的部分。本例中的路径是class。
文件名部分:从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名。
锚部分:从“#”开始到最后,都是锚部分。本例中的锚部分是“homework”。锚部分也不是一个URL必须的部分。
参数部分:从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的参数部分为“name=cs155”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。
3
Apache配置
服务器端需要解析客户端发来的请求,需要与各个组件譬如PHP和数据库交互,需要从数据库或硬盘获得客户所需的数据,同时还需要兼顾性能和安全性等等。
4
预告
如果你坚持看到这里,恭喜你,你已经超过大多数人,下部分将介绍SSL、CA、OpenSSL,敬请期待。
此篇所有的理论和方法,都立足于知乎用户ustcsse308,在此感谢,推荐感兴趣的读者关注。
5
因为欣赏,所以赞赏
这部分,我只想说:
如果读者有所启发,请不吝赞赏。您的支持,将是我求学求知路上不竭的动力。
“越来越人认可内容的价值,他们开始订阅付费专栏,开始给好的文章赞赏,但大多数人,还未意识到,看一篇有启发的文章,比喝一杯咖啡还有价值。”
--某人
以上是关于HTTPS第一集的主要内容,如果未能解决你的问题,请参考以下文章
纪录片 - Why Are We Fat?(全3集),第一集