HTTP协议,HTTP请求和响应,TCP三次和四次握手

目录

 

1.HTTP协议是什么?

2.HTTP主要特点

3.HTTP请求和响应

3.1HTTP请求

3.2HTTP响应

3.3HTTP请求和响应流程

3.4HTTP响应状态码分类 

3.5HTTP请求方法

4.TCP三次握手和四次握手

4.1三次握手过程(建立连接)

4.2四次挥手过程理解(释放连接)

5.HTTP七层协议


1.HTTP协议是什么?

a.(HTTP协议作用?)HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

b.(HTTP协议传输内容?)HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

c.(HTTP协议的发展?)HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

2.HTTP主要特点

a.HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

b.HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。

c.HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

d.HTTP简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

e.支持B/S(Browser/Server)及C/S(Client/Server)模式。

3.HTTP请求和响应

3.1HTTP请求

客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。

HTTP请求实例(基于Charles抓包数据):

POST /service.asmx/user_notepad?t=1589500883638 HTTP/1.1
Host: 127.0.0.1:9001
Content-Length: 122
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36
content-type: application/json
Origin: http://127.0.0.1:9001
Referer: http://127.0.0.1:9001/app88/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: ASP.NET_SessionId=rxhnzy5kvnmzkzxbcgzqqpja
Connection: keep-alive

{
  "user_id": 721,
  "vin_num": "AAJJU7FX6H5008783",
  "content": "123",
  "apikey": "f2a3a7c9a7cf3a500d8cdd6bfdff9ebe"
}

a.第一行请求行,包含请求方法(POST),请求路径(/service.asmx/user_notepad?t=1589500883638),HTTP协议版本(HTTP/1.1);

b.第二行请求头,跟在请求行后面,说明请求服务器的附加信息;从第二行起为请求头部,HOST将指出请求的目的地;User-Agent,服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础;该信息由你的浏览器来定义,并且在每个请求中自动发送等等;

User-Agent会告诉网站服务器,访问者是通过什么工具来请求的,如果是爬虫请求,一般会拒绝,如果是用户浏览器,就会应答;

User-Agent通用格式:

Mozilla/5.0 (平台) 引擎版本 浏览器版本号

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值