Http概念、历史进程及请求与响应

简介: 4、Http 4.1、什么是HTTP HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。 文本:html,字符串,~... 超文本:图片,音乐,视频,定位,地图...... 80 Https:安全的 443 4.2、两个时代 http1.0 HTTP/1.0:客户端可以与

4、Http


4.1、什么是HTTP


HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。


  • 文本:html,字符串,~...
  • 超文本:图片,音乐,视频,定位,地图......
  • 80


Https:安全的

  • 443


4.2、两个时代


  • http1.0
  • HTTP/1.0:客户端可以与web服务器连接,只能获得一个web资源,断开连接


  • http2.0
  • HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源。


4.3、Http请求


  • 客户端---发请求(Request)---服务器


百度:

Request URL:https://www.baidu.com/  请求地址
Request Method:GET  get方法/post方法
Status Code:200 ok  状态码:200
Remote(远程) Address:14.215.177.39:443
Referrer Policy:no-referrer-when-downgrade


Accept:text/html
Accept-Encoding:gzip, deflate, br
Accept-Language:zh-CN,zh;q=0.8    语言
Cache-Control:max-age=0
Connection:keep-alive


1、请求行


  • 请求行中的请求方式:GET


  • 请求方式:Get,Post,HEAD,DELETE,PUT,TRACT...
  • get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但是高效
  • post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但是不高效


2、消息头


Accept:告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪种编码格式  GBK UTF-8 GB2312  ISO8859-1
Accept-Language:告诉浏览器,它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成时是断开还是保持连接
HOST:主机.../


4.4、Http响应


  • 服务器---响应---客户端


百度:


Cache-Control:private   缓存控制
Connection keep-alive   连接
Content-Encoding gzip   编码
Content-Type text/html;   类型


1.响应体


Accept:告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪种编码格式  GBK UTF-8 GB2312  ISO8859-1
Accept-Language:告诉浏览器,它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成时是断开还是保持连接
HOST:主机.../
Refresh:告诉客户端,多久刷新一次
Location:让网页重新定位;


2.响应状态码


200:请求响应成功


3xx:请求重定向

  • 重定向:你重新到我给你的新位置去;


4xx:找不到资源 404

  • 资源不存在;


5xx:服务器代码错误 500 502:网关错误


常见面试题:

当你的浏览器中地址栏输入地址并回车的一瞬间到页面能够显示回来,经历了什么?

相关文章
|
24天前
|
Shell
HTTP状态码解析:在Haskell中判断响应成功与否
HTTP状态码解析:在Haskell中判断响应成功与否
|
1月前
|
数据采集
Haskell爬虫:连接管理与HTTP请求性能
Haskell爬虫:连接管理与HTTP请求性能
|
2月前
|
JSON 安全 前端开发
类型安全的 Go HTTP 请求
类型安全的 Go HTTP 请求
|
13天前
|
监控 网络协议 应用服务中间件
【Tomcat源码分析】从零开始理解 HTTP 请求处理 (第一篇)
本文详细解析了Tomcat架构中复杂的`Connector`组件。作为客户端与服务器间沟通的桥梁,`Connector`负责接收请求、封装为`Request`和`Response`对象,并传递给`Container`处理。文章通过四个关键问题逐步剖析了`Connector`的工作原理,并深入探讨了其构造方法、`init()`与`start()`方法。通过分析`ProtocolHandler`、`Endpoint`等核心组件,揭示了`Connector`初始化及启动的全过程。本文适合希望深入了解Tomcat内部机制的读者。欢迎关注并点赞,持续更新中。如有问题,可搜索【码上遇见你】交流。
【Tomcat源码分析】从零开始理解 HTTP 请求处理 (第一篇)
|
4天前
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
23 8
|
2天前
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
7 1
|
2月前
|
数据采集 JSON API
异步方法与HTTP请求:.NET中提高响应速度的实用技巧
本文探讨了在.NET环境下,如何通过异步方法和HTTP请求提高Web爬虫的响应速度和数据抓取效率。介绍了使用HttpClient结合async和await关键字实现异步HTTP请求,避免阻塞主线程,并通过设置代理IP、user-agent和cookie来优化爬虫性能。提供了代码示例,演示了如何集成这些技术以绕过目标网站的反爬机制,实现高效的数据抓取。最后,通过实例展示了如何应用这些技术获取API的JSON数据,强调了这些方法在提升爬虫性能和可靠性方面的重要性。
异步方法与HTTP请求:.NET中提高响应速度的实用技巧
|
22天前
|
JSON JavaScript 前端开发
Haskell中的数据交换:通过http-conduit发送JSON请求
Haskell中的数据交换:通过http-conduit发送JSON请求
|
24天前
|
JSON API 开发者
Python网络编程新纪元:urllib与requests库,让你的HTTP请求无所不能
【9月更文挑战第9天】随着互联网的发展,网络编程成为现代软件开发的关键部分。Python凭借简洁、易读及强大的特性,在该领域展现出独特魅力。本文介绍了Python标准库中的`urllib`和第三方库`requests`在处理HTTP请求方面的优势。`urllib`虽API底层但功能全面,适用于深入控制HTTP请求;而`requests`则以简洁的API和人性化设计著称,使HTTP请求变得简单高效。两者互补共存,共同推动Python网络编程进入全新纪元,无论初学者还是资深开发者都能从中受益。
36 7
|
22天前
|
开发者
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
23 1
下一篇
无影云桌面