什么是超文本(Hyper Text)?
包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。
什么是URL?
URL即统一资源定位符(Uniform Resource Locator),用来唯一地标识万维网中的某一个文档。URL由协议、主机和端口(默认为80)以及文件名三部分构成。
例如:http://www.sxtyu.com:80/news/index.html
协议:// 主机:端口(80) 文件名及其路径
什么是超文本传输协议HTTP?
是一种按照URL指示,将超文本文档从一台主机(Web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。
http是什么?做什么用的?
http:超文本传输协议 hyper text tranfer protocol
作用:在网上传输web页面
http协议是在浏览器和web服务器之间使用,用来传输网页
所有的浏览器都懂http协议
爬虫模块:python,java里的,都能读懂http协议
所有的web服务器:nginx,tomcat,IIS,python,web,go web框架,java web框架都能读懂http协议
html是编写网页的语言--》index.html文件
site 站点:一个网站
报文 segment(Message):封装了数据的数据--》容器
段:传输层的数据格式
udp:user datagram protocol--》用户数据报协议
HTTP的连接方式和无状态性
非持久性连接
即浏览器每请求一个Web文档,就创建一个新的连接,当文档传输完毕后,连接就立刻被释放。
HTTP1.0、HTTP0.9采用此连接方式。
对于请求的Web页中包含多个其他文档对象(如图像、声音、视频等)的链接的情况,由于请求每个链接对应的文档都要创建新连接,效率低下。
持久性连接
即在一个连接中,可以进行多次文档的请求和响应。服务器在发送完响应后,并不立即释放连接,浏览器可以使用该连接继续请求其他文档。连接保持的时间可以由双方进行协商。
无状态性
是指同一个客户端(浏览器)第二次访问同一个Web服务器上的页面时,服务器无法知道这个客户曾经访问过。HTTP的无状态性简化了服务器的设计,使其更容易支持大量并发的HTTP请求。
session和cookie技术:可以保留用户的信息
cookie:web服务器让浏览器保持用户的信息--》信息保持到客户端--》放到浏览器的cookie(存放数据的地方)
session:用户的信息保持在服务器端--》数据库--》内存里的一个数据结构
GET和POST方法的区别?
都是客户机想获取服务器的资源--》用来告诉服务器的方法
1、发送的数据数量
GET:只能发送有限数量的数据,因为数据是在 URL 中发送的。
POST:可以发送大量的数据,因为数据是在正文主体中发送的。
2、安全性
GET:在URL里可以看到
POST:不在URL里显示,是通过表单传输
3、加入书签中
GET :查询的结果可以加入书签中,因为它以 URL 的形式存在。
POST :查询的结果无法加入书签中。
4、编码
GET:在表单中使用数据类型只接受 ASCII 字符。
POST:在表单提交时不绑定表单数据类型,允许二进制和 ASCII 字符。
5、可变大小
GET :可变大小约为 2000 个字符。
POST :最多允许 8 Mb 的可变大小。
6、缓存
GET :数据是可缓存的
POST :数据是无法缓存的
7、主要作用
GET :主要用于获取信息。
POST :主要用于更新数据。
请求/响应交互模型
用户点击URL为http://www.sxtyu.com/index.html的链接后,浏览器和Web服务器执行以下动作
1.浏览器分析超链接中的URL
2.浏览器向DNS请求解析www.sxtyu.com的IP地址
3.DNS将解析出的IP地址202.2.16.21返回浏览器
4.浏览器与服务器建立TCP连接(80端口)
5.浏览器请求文档:GET /index.html
6.服务器给出响应,将文档 index.html发送给浏览器
7.浏览器显示index.html中的内容
8.释放TCP连接
HTTP报文结构
首部字段:就是请求报文的头部封装里需要封装的内容,是可以自己调整的,可增加可减少
请求报文
响应报文
请求的方法
响应报文中的状态码
状态码(Status-Code)是响应报文状态行中包含的一个3位数字,指明特定的请求是否被满足,如果没有满足,原因是什么。状态码分为以下五类:
首部字段或消息头
什么是HTTP代理?
HTTP代理又称Web缓存或代理服务器(Proxy Server),是一种网络实体,能代表浏览器发出HTTP请求,并将最近的一些请求和响应暂存在本地磁盘中,当请求的Web页面先前暂存过,则直接将暂存的页面发给客户端(浏览器),无须再次访问Internet。
使用HTTP代理的Web访问过程