HTTP

1.URL(统一资源定位符)

URL就是使用浏览器访问Web页面的时候需要输入的网页地址。

下面是URL的格式

HTTP_第1张图片

登陆信息:指定用户名和密码作为从服务器端获取资源时必要的登陆信息(可选项)

服务器地址:待访问的服务器的地址,可以是上述的DNS可解析的名称,也可以是IPv4地址

端口号:指定服务器连接的网络端口号(可选项)

带层次的文件路径:指定服务器上的文件路径来定位特指的资源。从端口号(如果没有就从域名开始的第一个“/”到最后一个“/”是文件夹,最后一个“/”到“?”(如果没有“?”,就到“#”,如果没有“?”,也没有“#”,就到文件最后)是文件名)

查询字符串:针对已指定的文件路径内的资源。(?到#之间的)(可选项)

片段标识符:已获取资源中的子资源。(也称为锚)(可选项) 

HTTP_第2张图片

HTTP是无状态协议。HTTP协议自身不对请求和响应之间的通信状态进行保存。但是随着Web的发展,诞生了Cookie。

1.HTTP请求

HTTP_第3张图片

HTTP请求的格式:

HTTP_第4张图片

1.首行:以空格分隔。

(第一部分:请求方法(GET方法将提交的数据放在URL里,POST方法将提交的数据放在正文里);第二部分:URL;第三部分:版本号)

2.请求头信息header:每一条头信息都是以换行符分隔;每一条头信息都是一个键值对。

3.空行

4.正文(GET方法没有正文)。

2.HTTP响应:

HTTP_第5张图片

HTTP响应格式:

HTTP_第6张图片

1.首行:以空格分割

(第一部分:版本;第二部分:状态码;第三部分:状态码描述)

2.响应头:每一条信息以换行来进行间隔;每一条头信息都是一个键值对;

3.空行

4.正文。

3.请求方法

GET 获取资源
POST 传输实体主题
PUT 传输文件
HEAD 获得报文首部
DELETE 删除文件
OPTIONS 询问支持的方法
TRACE 追踪路径
CONNECT 要求用隧道协议连接代理
LINK 建立和资源之间的联系
UNLINE 断开连接关系

最常用的就是POST和GET方法。

POST和GET方法的区别:

1.GET会把请求的参数放在URL中(?开始就是参数,多个参数用&连接),POST会把参数放在正文中。

2.GET的请求放在URL中,所以传输是有限制的;POST请求放在正文中,所以可以传输大数据。

3.GET安全性较低,当登陆某网站的时候,用户名及密码会放在URL中,会被看到;POST就会放在正文中,安全性相对来说较高。

4.状态码

类别 原因短语
1xx 接受的请求正在处理
2xx 请求正常处理完毕
3xx 需要进行附加操作以完成请求(重定向)
4xx 服务器无法处理请求(客户端错误)
5xx 服务器处理请求出错(服务器错误)

5.运行过程

如果对TCP/IP协议有一定的了解了(上篇文章就是TCP/IP):

1.当你在浏览器中输入某个网址,按下回车键的时候;

2.浏览器会请求DNS服务器来映射IP地址(域名解析),如果输入的是IP地址,就不用解析;

3.知道IP地址以及端口之后,就会通过TCP来建立连接;

4.浏览器向服务器发送SYN请求;浏览器接收到服务器发来的SYN+ACK;浏览器向服务器发送ACK+请求报文;

5.服务器收到请求通知,向浏览器做出响应,并进行数据传输;

6.浏览器接收到数据;向服务器发送FIN断开请求;接收到服务器的ACK应答;接收到服务器的FIN请求;再向服务器发送ACK应答,断开连接。

你可能感兴趣的:(日常学习)