HTTP/HTTPS协议笔记

HTTP/HTTPS协议

一、协议简介

1. HTTP协议

HTTP(HyperText Transfer Protocol)叫超文本传输协议,它是Web服务器和客户端直接进行数据传输的规则,是一个无效态的应用层协议。

2.HTTPS协议

HTTPS(HyperText Transfer Protacol over SecureSocket Layer),是以安全伪目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。

3.HTTP协议工作原理

在用户访问https://www.baidu.com/index.html的链接后,浏览器和Web服务器执行以下操作:

  1. 浏览器分析超链接中的URL
  2. 浏览器向DNS请求解析www.baidu.com的IP地址
  3. DNS将解析出的IP地址220.181.38.148返回浏览器
  4. 浏览器与服务器建立TCP连接(443端口,HTTP的话是80端口)
  5. 浏览器请求文档:GET /index.html
  6. 服务器给出相应,将文档index.html发送给浏览器
  7. 释放TCP连接
  8. 浏览器显示index.html中的内容

持久性连接与非持久性连接

1.非持久性连接

即浏览器没请求一个Web文档,就要创建一个新的连接,当文档传输完毕后,连接就立刻释放。

  • HTTP 0.9、HTTP 1.0采用此连接方式
  • 对于请求Web页中包含多个其他文档对象(如图像、声音、视频等)的链接的情况,由于请求每个链接对应的文档都要创建新连接,所以效率低下。

2.持久性连接

即在一个连接中,可以进行多次文档的请求和相应。服务器在发送完响应后,并不立即释放连接,浏览器可以使用该连接继续请求其他文档。连接保持的时间可以有双方进行协商。

二、HTTP报文分析

1.HTTP请求报文结构

实体部分是请求数据。

2.HTTP响应报文结构

3.HTTP请求方法

(1) GET:请求指定的页面信息,并返回实体主体。

(2)POST:向指定资源提交数据进行处理请求(比如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立或者已有的资源的修改。

(3)PUT :向指定资源位置上传其最新内容。

(4)OPTION:返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向Web服务器发送"*"的请求来测试服务器的功能性。

(5)HEAD:向服务器索要与GET请求相一致的相应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获得包含在响应消息头中的元信息。

4.HTTP状态码

状态码 响应类型 含义
1xx 信息性状态码(Informational) 服务器正在处理请求
2xx 成功状态码(Success) 请求已正常处理完毕
3xx 重定向状态码(Redirection) 需要进行额外操作以完成请求
4xx 客户端错误状态码(Client Error) 客户端原因导致服务器无法处理请求
5x 服务器错误状态码(Server Error) 服务器原因导致处理请求出错

常见的状态码:

状态码 含义
200 请求被服务器正常处理
301 永久重定向,资源已永久分配新URL
302 临时重定向,资源已临时分配新URL
401 需要通过HTTP认证,或认证失败
403 请求资源被拒绝
404 无法找到请求资源
500 服务器故障或Web应用故障
503 服务器超负载或停机维护

5.HTTP头部

头(header) 类型 说明
User-Agent 请求 浏览器和它平台的信息。
Host 请求 服务其的DNS名称。从URL中取出来,必需。
Referer 请求 用户从该URL代表的页面出发访问当前请求的页面。
Cookie 请求 将以前设置的Cookie送回服务器,可以用来作为会话信息。
Server 响应 关于服务器的信息,如Apache/2.4.39
Location 响应 请求客户端将请求发送给别处,即重定向到另一个URL。
Set-Cookie 响应 服务器希望客户保存一个Cookie。

三、HTTP协议中的URL

1.URL(统一资源定位符)

(1)定义:互联网上标准资源的地址,互联网上的每一个文件都有一个唯一的URL。

(2)URL格式

协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.后缀?参数=值#标志

相对URL:/目录/文件名.文件后缀?参数=值#标志

例子:http://www.xxx.com:80/test/index.html?boardID=1&ID=1&page=1#name

(3)URL中的协议

http -- 超文本传输协议

https -- 用安全套接字层传输的超文本传输协议

ftp -- 文件传输协议

gopher -- Gopher协议

file -- 当地电脑或网上分享的文件

2.URL编码

3.同源策略

posted @ 2023-11-19 20:47  bl0ck  阅读(76)  评论(0)    收藏  举报