HanSummer / awesome-web

A list resources of web
1 stars 0 forks source link

图文并茂!深入了解HTTP,你离入门,可能还差这一篇。 #64

Open HanSummer opened 6 years ago

HanSummer commented 6 years ago

图文并茂!深入了解HTTP,你离入门,可能还差这一篇。

HanSummer commented 6 years ago

Url

url

HanSummer commented 6 years ago

Request请求报文

Request请求报文

可以抽象为以下图表结构: 图标结构

HanSummer commented 6 years ago

Response响应报文

Response响应报文

同样可以抽象出如下图表结构: Response图标结构

HanSummer commented 6 years ago

HTTP RequestMethod

序号 方法名 解释
1 GET 请求指定的页面信息,并返回实体主体。
2 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
3 PUT 从客户端向服务器传送的数据取代指定的文档的内容。
4 DELETE 请求服务器删除指定的页面。
5 PATCH 实体中包含一个表,表中说明与该URI所表示的原内容的区别。
6 OPTIONS 允许客户端查看服务器的性能。
7 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头。
8 TRACE 回显服务器收到的请求,主要用于测试或诊断。

在RESTful风格架构盛行之前,我们最多用到的是GET和POST,GET执行简单效率高,但由于GET采用明文拼接请求参数,固安全性较低。POST请求将参数放入实体,相对提高了信息窃取的门槛。另外GET请求会受到Url长度限制,无法应对复杂的数据结构。POST请求则无此问题。

在RESTful风格中,GET,POST,PUT,DELETE,分别被抽象出来对应查,增,改,删四项操作。

HanSummer commented 6 years ago

HTTP响应头和请求头信息对照表

HTTP响应头和请求头信息对照表

HTTP请求头提供了关于请求,响应或者其他的发送实体的信息。HTTP的头信息包括通用头、请求头、响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。

HanSummer commented 6 years ago

XHR对象对于HTTP跨域请求有三种:简单请求、Preflighted 请求、Preflighted 认证请求。

简单请求不需要发送OPTIONS嗅探请求,但只能按发送简单的GET、HEAD或POST请求,且不能自定义HTTP Headers。

Preflighted 请求和认证请求,XHR会首先发送一个OPTIONS嗅探请求,然后XHR会根据OPTIONS请求返回的Access-Control-*等头信息判断是否有对指定站点的访问权限,并最终决定是否发送实际请求信息。

HanSummer commented 6 years ago

跨域资源共享 CORS 详解

跨域资源共享 CORS 详解