作为一个从产品转学技术的小白, 所写的所有博客包括原创, 转载, 文献解释和自己的见解, 仅针对想学习编程基础的同行们和爱好者们
此篇也是第一篇博客, 初识http, 将来我会用最简洁的大白话介绍这些神秘的编程方法
1. http "超文本传输协议"
1.超文本: 包含文字, 超链接, 图片, 视频, 音频等等多媒体元素标记过的文本, 也就是说这篇文本中不仅有文字, 还有其他很多元素, 这些元素组合起来就是超文本. 这些超文本文件彼此链接,形成网状, 也就是web, 所以又被称为网页. 而这些文本的链接我们用 url 来表示, 最常见的超文本格式是超文本标记语言HTML
2.URL: url 被称为"统一资源定位符", 用来唯一地标识万维网中的某一个文档.. 我们上网在浏览器地址栏上看到的什么 "http://www.sxtyu.com:80/news/index.html" 这些都是url, 那么把他分解开, 前面的 http:// 就被称为协议, 下面会讲到. 中间的 www.sxtyu.com:80 是"主机地址和端口", 后面可能会出现的乱七八糟一长串是文件名及其路径, 所以, 我们看到的所谓的页面, 实际上是到人家服务器电脑上的 news 文件夹中的一个叫 index.html 的文件而已啦 ~
3.http"超文本传输协议" , 是一种按照URL指示,将超文本文档从一台主机传输到另一台主机的应用层协议,以实现超链接的功能
2.上网过程
人们现在都已经离不开网络, 没了 wifi 就会心慌慌的有没有 ~~? 那么在网络的背后, 例如我们想要剁手的时候, 输入了 www.taobao.com 时, 浏览器就会给呈现出想要的页面, 短短的几秒钟, 它的背后经历了如下过程:
1.浏览器分析超链接中的URL
2.浏览器向DNS(域名解析服务器)请求解析www.sxtyu.com的IP地址
3.DNS解析出了IP地址并返回给浏览器, 浏览器就与服务器建立了 TCP 连接
4.浏览器请求文档:GET /index.html (#请求报文)
5.服务器给出响应,将文档 index.html发送给浏览器
6.释放了 TCP 连接
7.浏览器显示出了 index.html 中的内容
3.http代理
当我们还在上大学的时候, 校园网的外网通常用的都是一根线的吧, 那么就造成了需要比较大的承压能力, 这个时候代理服务器就起作用了.. HTTP代理又称Web缓存或代理服务器, 是一种网络实体, 能代表浏览器向外面发出HTTP请求,并将最近的一些请求和响应暂存在本地磁盘中,当请求的Web页面先前暂存过,则直接将暂存的页面发给客户端. 这样就是我们再次浏览同一个网页时, 可以较快的响应的原因
4.扩展 : 请求报文
1.从客户端向服务器发送的请求包括:
①请求行: 如: GET /index.html HTTP/1.1 , 里面包括 "方法 + URL + http版本 + 回车换行"
②首部行:用来说明浏览器、服务器或报文主体的一些信息。如:
Host: www.sxtyu.com
Connection: close
User-Agent: Mozilla/5.0
Accept-Language: cn
包括 "首部字段 + : + 空格 + 值 + 回车换行"
③实体主体
2.从服务器向客户端发送的反馈包括:
①状态行 如: HTTP/1.1 200 OK, 里面包括 "http版本 + 状态码 + 短语 +回车换行" 200 就代表你的网页请求成功了
②首部行:用来说明浏览器、服务器或报文主体的一些信息。如:
Date: Wed,08 May 2008 22
Sever: Apache/1.3.2(Unix)
Content-Length: 4096
Content-Type: text/html
包括 "首部字段 + : + 空格 + 值 + 回车换行"
③实体主体