Web基础之http协议

第6章 Web基础之http协议

第6章 Web基础之http协议一、http协议介绍  1.1)什么是超文本  1.2)什么是URL  1.3)什么是超文本传输协议二、访问网站分析三、页面请求信息解析(仅做了解)  3.1)基本信息  3.2)请求头信息  3.3)响应头部信息

第6章 Web基础之http协议

一、http协议介绍

1.1)什么是超文本

包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。

html文件→包含各种各样的元素(URL链接)→形成WebPage,简称web页面

在学Nginx之前,必须对http协议有所了解。

http:全称Hyper Text Transfer Protocol,中文名:超文本传输协议

http与https的区别:http是明文传输,容易被其他人抓包或者篡改数据;https是密文传输,不容易被抓包。

1.2)什么是URL

URL即统一资源定位符(Uniform Resource Locator),用来唯一地标识万维网中的某一个文档,意思是将服务器上的文件唯一化,独一无二的。

URL由协议、主机和端口(默认为80)以及文件名三部分构成,见下图

1.3)什么是超文本传输协议

是一种按照URL指示,将超文本文档从一台主机(Web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。

Http工作原理(必须要知道的知识重点)

可以通过日志去看一下

tail -f  /var/log/httpd/access_log

1、首先,当你在浏览器中输入一个网址时,(http://www.xinhuanet.com/politics/2019-09/09/c_1124978597.htm)浏览器会帮你分析你输入的这个URL。

2、其次,浏览器会向DNS服务器请求解析,该URL中的域名www.xinhuanet.com,解析出服务器所在的IP地址。

3、DNS服务器会将解析出来的IP地址110.111.112.113返回给浏览器。</font>

4、浏览器接收到DNS返回的IP地址,立即与该IP所在的服务器建立TCP连接(80端口)。

5、浏览器请求文档,即咱们常说的html页面,GET/index.html,并发出HTTP请求报文。

6、服务器给出响应,将请求的index.html文档返回给浏览器,即响应HTTP请求的报文。

7、TCP连接响应完之后,释放TCP连接。

8、最后就能显示出你请求的这个页面了。

二、访问网站分析

2.1、浏览器分析超链接中的URL

2.2、请求DNS

2.3、DNS回复

2.4、建立TCP连接

2.5、发起HTTP请求报文

2.6、服务器回应

上图中:

GET那一部分内容被称为:请求头信息

GETHTTP之间有一个空行被称为请求空行

HTTP中的信息被称为响应头信息

HTTPfaa之间有一个空行被称为响应空行

faa部分被称为请求主体

2.7、完成响应

三、页面请求信息解析(仅做了解)

General:基本信息

Response Headers:响应的头部信息

Request Headers:请求的头部信息

3.1)基本信息

Request URL: http://10.0.0.7/          #请求的urlRequest Method: GET                    #请求方式Status Code: 200 OK                    #状态码Remote Address: 10.0.0.7:80            #远程主机的IP和端口Referrer Policy: no-referrer-when-downgrade #控制求情头内容

3.2)请求头信息

#请求的域名:authority: www.driverzeng.com?#请求的方式:method: GET?#请求的路径:path: /?#请求的协议:https:scheme: https?#请求资源类型accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3?#压缩accept-encoding: gzip, deflate, br?#语言accept-language: zh-CN,zh;q=0.9?#缓存控制(没有做缓存)cache-control: no-cache?#保持连接:长连接Connetection:keep-alive    HTTP/1.1版本 #长连接,一次TCP的连接可以发起多次http请求    HTTP/1.0版本 #短连接,一次TCP的连接只能发起一次http请求?

?#请求的域名Host:www.driverzeng.com?#登录信息cookie: PHPSESSID=afb7d767864ce6a652caa67dde33fcfc; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_8cb66d45a3693d7c9673d2f1eaf63f66=admin%7C1565534946%7C0cvYan2unubeCmkeb4dHfIueS0DrnA4cW8plJj9700T%7C37bb38d7b5c62837d6d82dd12eda70830752a1a37cf976d94d4ee560c75f766f; wp-settings-1=libraryContent%3Dbrowse%26editor%3Dtinymce%26hidetb%3D0%26post_dfw%3Doff%26align%3Dcenter%26imgsize%3Dlarge%26mfold%3Do; wp-settings-time-1=1564325346; player_volume=0.0896551724137931; player=no; wp-postpass_8cb66d45a3693d7c9673d2f1eaf63f66=%24P%24Bpclv.Wj97LNy8oqHuxiMGDrNAjbwc1?#参数:没有缓存pragma: no-cache?#谷歌自带的(不属于请求头的内容)upgrade-insecure-requests: 1?#客户端(用户设备)user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36

3.3)响应头部信息

#大小Accept-Range:bytes#阿里云存储保存时间ali-swift-global-savetime: 1564813833#缓存控制cache-control: no-cache, must-revalidate, max-age=0#压缩content-encoding: gzip#内容长度content-length: 9410#返回内容类型及字符集content-type: text/html; charset=UTF-8#返回服务器时间date: Sat, 03 Aug 2018 06:30:33 GMT#加密ideagleid: 2dfd119815648138332064260e#失效时间expires: Wed, 11 Jan 1984 05:00:00 GMT#软链接link: <https://www.driverzeng.com/wp-json/>; rel="https://api.w.org/"#参数:没有缓存pragma: no-cache#使用的web软件server: Tengine#状态码status: 200#指定特定站点允许访问timing-allow-origin: *#渲染vary: Accept-Encoding#经过各级缓存via: cache14.l2cm12[99,200-0,M], cache1.l2cm12[101,0], cache13.cn1300[122,200-0,M], cache4.cn1300[123,0]

原文地址:https://www.cnblogs.com/dabai-wang09/p/11494189.html

时间: 2024-08-29 02:17:17

Web基础之http协议的相关文章

Web基础与HTTP协议(LAMP部署基础知识)

Web基础与HTTP协议 一.前言 前端:(玩的是框架)HTML (超文本标记语言) CSS (层叠样式表) JavaScript js (动态语言交互) JSP(与Java有关,前端未必接触) JavaScriptPage VUE(前后端分离) ECHARTS bootstrap--简洁.直观.强悍的前端开发框架,让web开发更迅速.简单 二.域名概述 域名的概念IP地址不易记忆早期使用Hosts文件解析域名主机名称重复主机维护困难DNS (Domain Name System域名系统)分布式

Web基础与HTTP协议

域名概述 域名的概念 IP地址不易记忆 早期使用Hosts文件解析域名 主机名称重复 主机维护困难 DNS(Domain Name System 域名系统) 分布式 层次性 域名空间结构 根域 顶级域 组织/地区域名 国家/地区域名 二级域名 FQDN=主机名.DNS后缀 (FQDN:完全合格域名) 网页的概念 网页 纯文本格式文件,其编写语言为HTML,在用户的浏览中被"翻译"成网页形式显示出来 网站 由一个一个页面构成的,是多个网页的结合体 主页 打开网站后出现的第一个网页称为网站

理论 :熟悉web基础与http协议

前言:前端中语言HTML(超文本标记语言) CSS(层叠样式表) JavaScript(动态语言交互,简称js) JSP(最终会转化成java语言) JavaScriptPage(页面,与js没有关系) VUE(典型的能很容易的实现前后端分离,渐进式JavaScript框架)ECHARTS(用于数据图片分析展示,可以了解一下)bootstrap (前端开发框架) C# 主要擅长做窗口开发 一 : 域名概述 1.1 域名的概念 IP地址不易记忆 1.2 早期使用Hosts文件解析域名 主机名称重复

001 web基础之HTTP协议

目录 一.HTTP协议 1.1 四大特性 1.2 数据格式 1.3 响应状态码 1.4 请求方式 要说web开发,首先要说的http协议,接下来我们就先介绍http协议. 一.HTTP协议 HTTP协议:超文本传输协议 1.1 四大特性 基于TCP/IP之上作用于应用层 基于请求响应 无状态 无连接 1.2 数据格式 请求格式 请求首行 请求头 \r\n 请求体 响应格式 响应首行 响应头 \r\n 响应体 1.3 响应状态码 响应状态码就是用特定的数字表示一些意思 1XX:服务端已经成功接收到

Java web基础总结二之—— http协议

Java web基础总结之二--http协议 由于java web是基于B/S的,所以http协议是java web 最基础,也非常重要的知识.HTTP协议用于定义客户端与web服务器之间进行通信的格式.从web服务器中获得某个web资源或者web 服务器接受客户端的请求都需要遵守一定的通讯格式,就是http协议. 一.HTTP协议是什么? HTTP协议是学习java web的基石,同时也是管理和维护一些复杂的WEB站点的必备的基础,如果你想要深入的理解java web的服务器的实现,就更需要掌

Web前端学习①Web基础知识

<1>Web前端Web基础知识 一.前端工程师的角色 一个网站的建设需要以下角色: ①策划人员:方案 ②美工/UI设计师:设计图 (.psd  .rp) ③前端工程师:静态网页 ④后端工程师:获取数据 ( Java   PHP  .NET) 二.Web的基础知识 1.Web(万维网)与Internet(因特网) ①Internet简介:定义.主要服务.基本实现技术 ②Web与Internet关系 Web是Internet提供的服务. ③Web简介:万维网 2.Web的工作原理 ①Web的工作原

Java Web基础 --- Servlet 综述(实践篇)

摘要: 伴随 J2EE 6一起发布的Servlet 3.0规范是Servlet规范历史上最重要的变革之一,它的许多新的特性都极大的简化了 Java Web 应用的开发.本文从一个简单的 Servlet 例子开始,说明了如何开发.配置一个 Servlet.此外,还重点叙述了Servlet的一些新特性,包括Servlet 异步处理.Servlet 非阻塞IO 以及 Servlet 文件上传等内容,以便我们对Servlet有一个更全面的了解. 本篇主要介绍 Servlet 实践方面的知识,更多关注于S

Unit01: Servlet基础 、 HTTP协议

Unit01: Servlet基础 . HTTP协议 在页面上输出当前时间 package web; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import

JavaScript大杂烩0 - WEB基础知识

1. 协议小结:HTTP协议与TCP/IP协议 现代Web应用开发的基础是HTTP协议,那么HTTP协议与我们熟知的TCP/IP协议有什么关系呢? 这个要从网络通信模型说起,简单的说,计算机通信就像两个人在互相交流,怎样才能互相听懂呢?很简单,就是使用一致的语言和表达方式. 计算机之间通信的语言就是网络协议.网络协议是网络上所有设备(网络服务器.计算机及交换机.路由器.防火墙等)之间通信规则的集合,它规定了通信时信息必须采用的格式和这些格式的意义.大多数网络都采用分层的体系结构,比如传统的开放式