HTTP与WEB通信

HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。

HTTPS(Hypertext Transfer Protocol over Secure Socket Layer):就是HTTP的安全版,在HTTP下加入SSL层,SSL是主要用于WEB的安全传输协议,让数据传输更加安全。

HTTP和HTTPS均是由TCP协议封装而来,在进行http协议和https协议时,需要进行 三次握手和四次挥手。
注意事项:http协议是无连接的,就是每一次连接只处理一次请求,当服务器收到客户端的请求处理并且收到客户端的回答之后断开连接。

WEB通信流程

现在的B/S与C/S结构,当你通过浏览器输入一个url会发生以下过程:

  • 首先电脑会查找本地HOSTS中的缓存,如果没有与这个URL相应的IP地址则访问DNS服务器解析这个URL为具体IP.
  • 解析出URL的IP以后会根据默认端口80与这个IP服务器建立TCP连接
  • 浏览器发出HTTP 请求,通过层层协议包装传送到服务器
  • 服务器对HTTP请求作出响应,并将对应的HTML文本发送给客户浏览器
  • 释放TCP连接,四次挥手
  • 浏览器解析和显示HTML为可视化的内容

这里是引用

HTTP的请求方法

目前HTTP/1.1有八种方法用来指定操作不同资源

  • GET:在web应用中用来访问读取显示资源,在URL里可见,传输速度快,
  • POST:提交数据,比如登录页面,当需要客户端传输到服务器数据用这个方法,有些sql注入就是基于post的注入。
  • HEAD:与GET方法类似,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部分。
  • PUT:向指定资源位置上传最新内容。
  • DELETE:请求服务器指定删除某个页面
  • CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接(经由非加密的HTTP代理服务器),比如burpsuite的代理服务功能。
  • OPTIONS:这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用’*'来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。
  • TRACE:回显服务器收到的请求,用于测试和诊断。

HTTP请求流程

1 .键入一个URL,比如www.baidu.com,客户端连接到Web服务器 。一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。
2.发送HTTP请求,通过TCP套接字。客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
3. 服务器接受请求并返回HTTP响应。Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
4. 释放连接TCP连接。若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求。
5.最后客户端浏览器接受到响应。首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示为可视化的内容。
在这里插入图片描述

常见的HTTP响应状态码

HTTP/1.1 200 OK

200 页面正常
301、302 、304 重定向
400 http协议错误 、    401身份认证  、  403 禁止访问  、     404 页面不存在
500 页面的动态代码有错误         502 响应超时   521网站反爬返回头
发布了7 篇原创文章 · 获赞 6 · 访问量 1965

猜你喜欢

转载自blog.csdn.net/qq_44040833/article/details/104163521