HTTP

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

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

下面是URL的格式

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

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

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

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

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

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

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

1.HTTP请求

HTTP请求的格式:

1.首行:以空格分隔。

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

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

3.空行

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

2.HTTP响应:

HTTP响应格式:

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应答,断开连接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值