HTTP通信基础

一.WEB介绍

WEB(World wids Web)也称万维网,是基于Internet的,它允许一台计算机通过Internet去访问存储在世界各地的计算机系统中的信息。

1.HTTP(超文本传输协议)

两个不同的计算机想要互相访问其功能,必须遵守相同的协议。

HTTP是一种实现客户端与服务端的之间通信的响应协议。

通常分为请求(Request->Req)与响应(Reponse->Rsp)

URI:统一资源标识符(抽象)

URL:统一资源定位符
https://(协议)www.baidu.com(域名或者IP地址/端口)?(分隔符)/ie=utf-8&.....(参数名与参数)

2.通信流程

在浏览器中输入www.baidu.com(域名),经过DNS域名解析得到该域名对应的IP地址,通过解析得到IP地址去访问服务,服务段收到请求后按照IP地址从资源库中提取出对应资源返回给用户端后,浏览器识别渲染并展示出来。

二.DNS域名解析服务器

正常的访问流程为:

协议+IP+端口

wwww.baidu.com=1.15.136.212

DNS服务提供域名到IP地址的转换服务。通常用TCP,UDP协议的53端口。

DNS的用途最基本的就是提供域名与IP地址之间的对应关系的记录与查询。

1.DNS记录

A记录:域名->IP地址 一个域名指向一个IP地址(一一对应的关系)

NS记录:域名->域名解析服务器的IP地址 返回该域名由哪台域名解析服务器解析

PIR记录:IP地址->域名 反向记录从IP地址到域名的记录

MX记录:记录域名对应的IP地址

2.DNS服务器类型

根服务器:根服务器是DNS的核心,它并不能将域名直接转化为IP地址,而是识别顶级域名的类型(解析),并将其传到该顶级域名的顶级域名解析服务器。(将DNS查询引导到相应的域名服务器)

顶级域名服务器:顶级域名服务器也不能直接解析服务,而是负责将对应的权威解析服务器返回给查询的客户端。

权威服务器:这时,权威服务器会解析出对应的IP地址,并返回给客户端,客户端拿到后即可进行访问。

3.域名系统的工作原理

4.域名知识

顶级域名:一般分为国家与企业。中国.cn美国.us国际顶级域名.com,.edu.net。

一/二/三级域名:www.baidu./.com

三.HTTP请求类型

最常用的四种请求方法: GET, POST, PUT, headDELETE options(判断允许的请求类型)connecttraceMOVECOPY

1.GET/POST请求

GET请求可以理解为取数据(查询或获取数据),但是GET请求会把请求的数据附加在URL的参数后,这对于敏感数据的处理是不安全的。而POST请求参数都在请求的body中,一般应用在上传数据或者提交数据时。

2.GET/POST的对比

(1)URL可见性:GET请求的请求数据会展示在URL的参数后,而POST的请求数据会放在请求body中。这样较为安全。

(2)传输数据大小:GET传递数据是通过URL进行传递,对传递的数据长度是受到了URL大小的限制,URL最大的长度是2048字符;POST则没有限制。

(3)缓存:GET请求在访问时会自动在浏览器上生成历史记录的缓存;POST则不会生成。

(4)回退页面:GET请求回退页面没有影响;POST会有。

(5)编码方式:GET请求只能是URL编码;POST可以是多种编码形式。

3.HTTP响应过程

你要访问一个服务 必须通过ip+port

我们要与对方通信之前tcp会先建立三次握手

1. 域名解析 www.baidu.com 解析为 IP地址

2. 三次握手的建立

3. 向对方去发送HTTP请求,请求获取页面内容

4. 服务器收到了我们客户端的请求,并作出对应的响应

5. 服务端将页面的内容以及源代码通过响应发送给客户端

6. 客户端浏览器接收源代码信息 并且请求对应的一些资源

7. 浏览器渲染解析得到页面

8. 断开连接

四.HTTP请求/响应数据包

1.请求数据包详细信息

请求行:一般由请求方法字段,URL字段和HTTP协议版本组成。

空行:一般表示告诉服务器请求头部到此结束。

请求头部

HOST:指定请求的服务器的域名(IP地址)和端口号

Referer:指定到达当前网址的上一网址。

User-Agent:表示发出请求的用户信息。

Cookie:用户身份信息。

Content-Type:请求的与实体对应的MIME信息。

Content-Length:请求数据的长度。

Date:请求发送的日期。

Accept:指定客户端能够接收的内容类型。

X-forward-for:记录客户端的IP地址。

2.响应数据包的详细信息

响应行:协议版本,响应状态码,响应描述

响应头部

Content-Language:响应体的语言。

Content-Length:响应体的长度。

Content-Type:返回内容的MIME类型。

Date:原始服务器消息发出的时间。

Location:用来重定向接收方到非请求URL的位置来完成请求或标识新的资源。

Server:web服务器软件名称。

Set-Cookie:设置Http Cookie Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1

空格

响应体:响应体就是响应的消息体,如果是纯数据就是返回纯数据,如果请求的是HTML页面,那么返回的就是HTML代码,如果是JS就是JS代码,如此之类。

3.HTTP响应码

(1)临时响应

状态码

状态码英文名称

响应描述

100

Continue

继续

101

Switching Protocols

切换协议

(2)成功

状态码

状态码英文名称

响应描述

200

OK

请求成功

201

Created

已创建

202

Accepted

已接受请求

203

Non-Authoritative Information

非授权信息

204

No Content

无内容

205

Reset Content

重置内容

206

Partial Content

部分内容

(3)重定向

状态码

状态码英文名称

响应描述

301

Moved Permanently

永久移动

302

Found

暂时移动

304

Not Modified

未修改

305

Use Proxy

使用代理

(4)请求错误

状态码

状态码英文名称

响应描述

400

Bad Request

客户端请求的语法错误

401

Unauthorized

请求要求用户的身份验证

403

Forbidden

禁止访问

404

Not Found

无法找到

405

Method Not Allowed

客户端请求方法被禁止

408

Request Time-out

请求超时

(5)服务器错误

状态码

状态码英文名称

响应描述

500

Internal Server Error

服务器内部错误,无法完成请求

502

Bad Gateway

充当网关或者代理的服务器去尝试执行请求时,从远端服务器接收到了一个无效的

504

Gateway Time-out

充当网关或代理的服务器,未及时从远端服务器获得请求

五.HTTPS

CA (Certificate Authority) 是颁发数字证书的机构。是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任第三方,承担公钥体系中公钥的合法性检验的责任。

http 明文传输

tls /ssl 证书加密校验

https 密文传输

六.Cookie/Ssesion

作用

会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)

个性化设置(如用户自定义设置、主题等)

浏览器行为跟踪(如跟踪分析用户行为等)

Cookie与Session区别:作用范围不同,Cookie 保存在客户端(浏览器),Session 保存在服务器端。

共同特点:身份校验,会话管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值