http协议(F12)


http协议:

超文本传输协议,说白了就是一种约定,一种数据传输格式,只不过它可以传输超文本

超文本指的是超越文本限制或着链接,比如我们用的图片视频音乐链接都属于超文本

注意:发送http协议格式的数据是基于tcp传输协议的,传输之前需要先建立连接

http协议作用:

规定了浏览器和web服务器之间通信数据的格式,也就是浏览器和web服务器之间进行通信需要使用http协议

浏览器访问web服务器的通信过程:

此处附加一张图片
例如:百度服务器也就百度主机也叫物理服务器也叫根服务器,上面会运行一个web服务端程序,默认端口号是80,浏览器想访问百度服务器,需要在浏览器地址栏输入网址就可以访问,但是之间有说过,浏览器想要和某个应用web服务器通信,要知道ip和端口号,但是为什么我们输入的地址里面只有域名,没有看到ip和端口号了?这里其实有人帮我们把域名解析成ip地址了,它就是DNS(域名解析服务器)

这里也附加图片

小结

http协议是一种超文本传输协议,
http协议格式的数据传输是继续tcp传输协议的,传输之前需要建立连接
http协议规定了浏览器和web服务器之间数据通信的数据格式

URL
统一资源定位符,通俗理解就是网络中资源地址,也就是常说的网址
url组成:
协议部分http:// ,https://,tps://等
域名部分
资源路径部分(接口名)

参数部分(?后面为第一个参数,后面其他的参数之间用&)
注意https协议默认端口号是443
http协议默认端口号是80

开发者工具:

谷歌浏览器F12查看http协议的通信过程
image
请求一次http/:www.baidu.com,提示有27个请求,百度除了请求网页数据以外,还有图片logo等,而这些资源我本地没有,也要去跟服务器要,所以其他26个请求是http/:www.baidu.com请求所需要的资源,每一次请求都是一个请求响应的过程
image
Element:查看或修改网页标签

console:控制台,用来执行js的
sources:就是当前这个网页所用到的静态资源,比如图片,js,css
network:用来查看http协议的通信过程的

Timeline: 时间线面板,记录网站生命周期内所发生的各类事件

Profiles: 事件详情面板

Application: 本地存储,Session存储等资源信息

Secuity: 判断当前网页是否安全

Audits: 网络性能诊断

network详解包括:
http请求的请求头信息有一下几点,
1-Headers:请求得主要信息,
image
包括请求地址:Request URL
请求方法:Request Method
请求状态码:Status CodeL(ok表示状态描述)
远程服务器主机ip地址:Remote Address
2-respons Headers响应头信息,是服务器发送给浏览器得一些数据
3-request Headers请求头信息,是浏览器发送给web服务器的一些数据,
image
image
view sources就是查看浏览器发送给服务器的一些原始数据,view pansed是查看解析后的数据,
Respons:响应数据,浏览器会把服务器响应的数据去解析,然后渲染成一个美丽的网页,
image
http请求报文:

http请求报文:就是浏览器发送给服务的http协议数据;

分为两种:

GET发送请求的报文:从服务器直接获取数据

POST发送请求报文:向web服务器提交数据

get请求报文详解

# http请求报文详解
# 第一行:请求行 
# GET:请求方法,/web/user/latestVersionNumber:请求路径,HTTP/1.1:http协议版本
GET /web/user/latestVersionNumber HTTP/1.1
# 以下行都叫请求头
# Host:服务器的主机ip地址和端口号(http协议默认80在这里不显示,默认端口号是看不见的,能看见的一般是指定端口号)
Host: devgateway.shangdundata.com
# 和服务端程序保存长连接,当客户端和服务端有一段时间没有进行通信,那么服务端程序会主动向客户端断开连接,要释放资源
Connection: keep-alive
sec-ch-ua: "Google Chrome";v="95", "Chromium";v="95", ";Not A Brand";v="99"
# 告诉服务端程序,客户端程序可以接收的数据格式
Accept: application/json, text/plain, */*
X-UserId: e69789512b42a6021b376521081d65f4
X-Token: 4c48e603-07cb-4bdb-8da0-ba752d5dd412
sec-ch-ua-mobile: ?0
# 用户代理 通俗讲就是客户端程序名称(Windows  chrome),后续学习爬虫的时候可以根据是否有User-Agent进行是否反爬
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36
sec-ch-ua-platform: "Windows"
Origin: https://dev.changandu.com
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://dev.changandu.com/
# 告诉服务端程序支持的压缩算法
Accept-Encoding: gzip, deflate, br
# 告诉服务端程序支持的语言
Accept-Language: zh-CN,zh;q=0.9
coolie:客户端用户身份的唯一标识

注意:这里为什么要讲每项都要一个\r\n,就是以后自己写一个协议进行请求时就要按照http协议规定的格式进行去请求服务器,不然服务器是不会给你数据的;

http get请求报文格式
请求行\r\n

请求头\r\n

空行\r\n

提示:每项信息之间都需要一个\r\n,是http协议规定的

post请求报文详解


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM