图片来源:MDN
HTTP是网路世界资讯交换的基础,这项发明一开始是为了提供发布和接收HTML页面的方法,请求的资源会用URL来表示。
在网路的世界里拥有资源的会被称为服务器,请求资源的则称为客户端(通常是浏览器)。
比方说各位铁人每天发表文章的同时,浏览器就必须告诉服务器说「欸!我要给你一篇文章,帮我存一下」,或是各位铁人彼此观摩他人的文章时,浏览器就必须不断向服务器发送显示文章的请求,
人类之间用不同的语言沟通,那浏览器与服务器之间要怎麽沟通呢?当然不可能用上述那种拟人式的方式,必须要有固定的格式规范才能快速处理人类的需求,HTTP就明确规定了这两者沟通的内容格式。
先来看看标准的请求和回应,无论是请求还是回应都分成三个区块:
start-line
:header
body
图片来源:MDN
前面提到在请求的start-line中会包含执行的动作,也称为请求方法,以下我们来看看常见的请求方法
方法 | 代表行为 |
---|---|
GET | 取得资料 |
POST | 发送资料给服务器 |
PUT | 更新资料 |
DELETE | 删除资料 |
PATCH | 修改资料 |
如同请求方法,服务器的回应方式也分门别类成五个类型并且用代码去区分:
200
OK404
Not found
例如某位参赛的铁人删除文章後,其他铁人若再点选文章网址就会给予此错误
418
I'm a teapot
418错误源自於愚人节玩笑,据说某些网站对於不想处理的请求会给予此回应
显而易见的两者之间只差了一个 S ,这个 S 代表的是安全(secure)的意思。由於过往的 HTTP 传输方式,所有资料都是以明文传送,在资料传输的过程中若有骇客窃听时,就会造成资料外泄。於是浏览器公司透过SSL/TLS的技术将文件加密,才有了现在使用的HTTPS。
支撑网路世界运作的技术和所需的知识量真的无比庞大,一日探索HTTP虽然只看到非常表面的概念,还是觉得收获满满~
参考资料:
Web Security: an introduction to HTTP
HTTP Messages
从传纸条轻松学习基本网路概念
超文本传输协定
<<: 14. Log X Notification x Slack
终於来到第30天了!!! 其实自己也是透过这次的比赛机会而学到了不少,上网查了资料又买书研究,一点一...
在真实世界中,物体因为反射光进我们的眼中,而能被看见;因此,除了物体形状外,材质与光之间的关系是3D...
今天的目标 每逢过年过节,不时会收到些礼物或送出些礼物,但要怎麽样依据不同的对象,来客制化我们的内容...
在上一篇我们介绍的 CSS in JS, 那这次我们来使用 CSS in JS 的框架 emotio...
前言:昨天先烧为带大家认识最简单的搜寻类型,今天要来介绍之前有稍微提到的二元搜寻树,并实作给大家看看...