cookie及http协议

协议:

协议,就是事先的一种约定、规则、规范、标准。

常见协议

常见协议

常见协议

HTTP、HTTPS 超文本传输协议

FTP 文件传输协议

SMTP 简单邮件传输协议

TCP协议

TCP/IP协议栈分为四层,每一层都由特定的协议与对方进行通信,而协议之间的通信最终都要转化为 0 和 1 的电信号,通过物理介质进行传输才能到达对方的电脑,因此物理介质是网络通信的基石。

三次握手示意图

第一次: 建立连接时,客户端发送SYN包(SYN=i)到服务器,并进入到SYN-SEND状态,等待服务器确认。

第二次: 服务器收到 SYN 包,必须确认客户的 SYN ( ack=i+1 ) , 同时自己也发送一个 SYN 包( SYN=k ) , 即 SYN+ACK 包,此时服务器进入 SYN-RECV 状态。

  第三次: 客户端收到服务器的 SYN+ACK 包,向服务器发送确认报 ACK ( ack=k+1 ) , 此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三次握手,客户端与服务器开始传送数据。


四次挥手示意图

第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。

    第二次挥手: Server 收到 FIN 后,发送一个 ACK 给 Client ,确认序号为收到序号 +1 (与 SYN 相同,一个 FIN 占用一个序号), Server 进入 CLOSE_WAIT 状态。

    第三次挥手: Server 发送一个 FIN ,用来关闭 Server 到 Client 的数据传送, Server 进入 LAST_ACK 状态。

    第四次挥手: Client 收到 FIN 后, Client 进入 TIME_WAIT 状态,接着发送一个 ACK 给 Server ,确认序号为收到序号 +1 , Server 进入 CLOSED 状态,完成四次挥手。


HTTP协议

HTTP协议即超文本传输协议,  是一个 [浏览器端] 和 [服务器端] 请求和响应的标准

常用请求方法  GET, POST

请求 (request):请求行、请求头、请求主体。

响应 (response):状态行、响应头、响应主体。


HTTP的请求协议

HTTP请求由状态行、请求头、请求正文三部分组成:

状态行:包括请求方式Method、资源路径URL、协议版本Version;

请求头:包括一些访问的域名、用户代理、Cookie等信息;

请求正文:就是HTTP请求的数据。

GET请求实例

//--------------------------请求行--------------------------------

RequestURL:https://www.baidu.com/

RequestMethod:GET

StatusCode:200OK

RemoteAddress:61.135.169.125:443

ReferrerPolicy:no-referrer-when-downgrade

//--------------------------请求头--------------------------------

Host:www.study.com

// 是否需要持久链接

Connection:keep-alive

// 使用http1.1版本

Upgrade-Insecure-Requests:1

//代理请求的浏览器信息

User-Agent:Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58.0.3029.96Safari/537.36

// 指定客户端接受的数据类型

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,`*/*`;q=0.8

// 指定浏览器可接受的web服务器,返回内容压缩编码

Accept-Encoding:gzip,deflate,sdch

Accept-Language:zh-CN,zh;q=0.8,en;q=0.6

//----------------------------请求体-------------------------------------

//get请求没有请求体,但是参数会拼接到请求行中

POST请求

//-----------------------请求行---------------------------------------------

RequestURL:https://passport.jd.com/uc/loginService?uuid=a35108dd-99ce-4970-907b-109452be479c&ReturnUrl=https%3A%2F%2Fwww.jd.com%2F2019&r=0.4442924509727251&version=2015

RequestMethod:POST

StatusCode:200OK

RemoteAddress:211.144.24.29:443

ReferrerPolicy:no-referrer-when-downgrade

//-----------------------请求头--------------------------------------------

Host:www.study.com

Connection:keep-alive

//传递的参数的长度。

Content-Length:29

Cache-Control:max-age=0

Origin:http://www.study.com

Upgrade-Insecure-Requests:1

User-Agent:Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58.0.3029.96Safari/537.36

//请求内容对应的mime类型.如表单数据,如果是post请求,必须指定这个属性。

Content-Type:application/x-www-form-urlencoded

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,`*/*`;q=0.8

Referer: http://www.study.com/day02/01-login.html

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,zh;q=0.8,en;q=0.6

//------------------------请求体------------------------------------------

username=pp&password=123456

响应报文

//---------------------状态行(响应行)-------------------------------

//HTTP/1.1  HTTP版本

//200 响应的状态

    //200表示成功

    //304表示读缓存

    //404表示找不到资源

    //500表示服务端错误

HTTP/1.1 200 OK

//----------------------响应头-----------------------------------------------

Date: Thu, 22 Jun 2017 16:51:22 GMT

// 服务器信息

Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45

//

X-Powered-By: PHP/5.4.45

Content-Length: 18

// 保持长连接的事件

Keep-Alive: timeout=5, max=100

Connection: Keep-Alive

//内容类型,告诉浏览器该如何解析响应结果

Content-Type: text/html;charset=utf-8

//-----------------------响应体------------------------------------------------

hello world

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容