Questions tagged «http»

超文本传输​​协议(HTTP)是一种应用程序级网络协议,用于在万维网上传输内容。

4
在没有ServerName的默认虚拟主机上将HTTP重定向到HTTPS
在我的apache服务器上,我希望能够将所有传入的http请求重定向到等效的https请求。问题在于,我希望能够为我的默认虚拟主机执行此操作而无需指定,ServerName并且可以使用请求URL中出现的任何服务器名称进行重定向。我希望这样的事情: NameVirtualHost *:80 <VirtualHost *:80> RedirectPermanent / https://%{SERVER_NAME}/ ... </VirtualHost> 这可能Redirect有用Rewrite吗?还是我不得不诉诸?
74 apache  http  redirect  https 


3
在两个curl请求之间保存cookie
我知道使用cURL可以看到我收到的Cookie /标头 curl --head www.google.com 我知道我可以使用添加标题到我的请求 curl --cookie "Key=Value" www.google.com 我目前正在测试需要持久性Cookie的问题,并且其中可能有很多。 如何有效地保留两个cURL请求之间的cookie ? 如果可能,请使用临时文件进行存储。
74 http  curl  cookies  header 

6
是斜杠(“ /”)等同于HTTP URL路径部分中的编码斜杠(“%2F”)
我有一个站点在URL的路径部分(而不是查询字符串)中以不同的方式对待“ /”和“%2F”。根据RFC还是现实世界,这是一件坏事吗? 我问是因为我对正在使用的Web框架(Ruby on Rails)以及它下面的层(Passenger,Apache,例如,我必须为Apache启用“ ALLOW_ENCODED_SLASHES”)感到惊讶。我现在倾向于完全摆脱编码的斜杠,但是我想知道是否应该在我看到涉及编码的斜杠的怪异行为时提交错误报告。 至于为什么我首先使用编码的斜杠,基本上我有这样的路由: :controller/:foo/:bar :foo是类似路径的内容,可以包含斜杠。我认为最直接的方法就是仅对URL进行转义,foo从而使斜线被路由机制忽略。现在,我对此表示怀疑,很明显,这些框架并不真正支持此功能,但是根据RFC的说法,这样做是错误的吗? 这是我收集的一些信息: RFC 1738(URL): 通常,当八位字节由字符表示并进行编码时,URL具有相同的解释。但是,对于保留字符而言并非如此:对为特定方案保留的字符进行编码可能会更改URL的语义。 RFC 2396(URI): 这些字符被称为“保留”,因为它们在URI组件中的使用仅限于其保留目的。如果URI组件的数据将与保留用途冲突,则必须在形成URI之前转义冲突的数据。 (这里的转义除了编码保留字符之外还意味着其他吗?) RFC 2616(HTTP / 1.1): 除“保留”和“不安全”集中的字符以外的其他字符(请参阅RFC 2396 [42])等效于其““%” HEX HEX“编码。 还有一个针对Rails的错误报告,他们似乎希望编码的斜杠的行为有所不同: 是的,我期望会有不同的结果,因为它们指向的是不同的资源。 它在根目录中查找文字文件“ foo / bar”。非转义版本正在目录foo中查找文件栏。 从RFC可以明显看出,原始字符与编码字符等效于未保留字符,但是保留字符的含义是什么?
74 http  url  encoding 

10
Windows的图形HTTP客户端
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 6年前关闭。 改善这个问题 我正在寻找用于执行HTTP操作的Windows图形实用程序。 例如,我希望能够说些类似的话: 通过POST正文发布到http://example.org/test/service:“数据在这里” 有人知道这样做的好软件吗?
73 windows  http  rest  client 

7
使用htaccess将Https重定向到http
我正在尝试将https://www.example.com重定向到http://www.example.com。我在.htaccess文件中尝试了以下代码 RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com$ [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] 此代码成功将https://example.com重定向到http://www.example.com。但是,当我输入https://www.example.com时,它在浏览器中给我一个“网页不可用”的错误。 我也尝试了以下2个代码,但均未成功 尝试1 RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/(.*):NOSSL$ http://www.example.com/$1 [R=301,L] 尝试2 RewriteEngine On RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} 以上两种尝试均失败。有什么建议?
73 apache  .htaccess  http  https 

4
Angular2-HTTP RequestOptions头
我目前在tslint上遇到问题,希望有人可以指出正确的方向。 我正在尝试使用Angular2框架提供的HTTP发送HTTP GET请求。对于此请求,我必须指定内容类型和承载身份验证令牌。 我的代码示例: let headers = new Headers(); let authToken = this._user.getUser().JWT; headers.append('Content-Type', 'application/json'); headers.append('Authorization', `Bearer ${authToken}`); let options = new RequestOptions({ headers: headers }); this._http.get('http://' + url '/', options) .timeout(3000) .subscribe( (res) => { 这有效,但是,tslint抱怨 “ TS2345:类型'{headers:Headers;}'的参数不能分配给类型'RequestOptionsArgs'的参数。属性'headers'的类型不兼容。类型'Headers'不能分配给类型'Headers'。两种不同的类型具有此名称的名称,但它们不相关。“标题”类型中缺少属性“关键字”。” 感谢您的支持。


7
通过REST(RESTful)API进行批量收集操作
我想要有关设计REST API的一些建议,该API将允许客户端有效地向集合中添加/删除大量对象。 通过API,客户需要能够向集合中添加项目,从集合中删除项目以及操纵现有项目。在许多情况下,客户可能希望对该集合进行批量更新,例如添加1000个项目并删除500个不同的项目。感觉客户端应该能够在与服务器的单个事务中完成此任务,而不是需要1000个单独的POST请求和500个DELETE。 是否有人有关于实现此目标的最佳做法或惯例的信息? 我目前的想法是,应该能够PUT一个代表集合URI更改的对象,但这似乎与HTTP 1.1 RFC不一致,后者似乎建议在PUT请求中发送的数据应独立于数据包的解释。 URI中已经存在的数据。这意味着客户端将必须一次性发送对集合的新状态的完整描述,该描述可能远远大于更改,甚至超过客户端发出请求时所知道的范围。 显然,如果有必要,我很乐意偏离RFC,但如果存在这样的约定,则宁愿以常规方式进行操作。
73 http  rest 


3
HTTP缓存控制的最大使用期限,必须重新验证
我有几个与Cache-Control相关的查询。 如果我max-age=3600, must-revalidate为静态html / js / images / css文件指定Cache-Control ,并在HTTP标头中定义了Last Modified Header: 浏览器/代理缓存(如Squid / Akamai)是否在max-age到期之前一直到原始服务器进行验证?还是会从缓存中提供内容直到最大使用期限到期? 在最大使用期限(从缓存中过期)之后,是否进行了If-Modified-Since检查,或者是否从源服务器重新下载了内容而不进行If-Modified-Since检查?

8
HTTP请求至少需要什么?
我正在尝试netcat通过执行以下操作向本地服务器发出GET命令: echo -e "GET / HTTP/1.1\nHost: localhost" | nc localhost 80 不幸的是,我HTTP/1.1 400 Bad Request对此有所回应。HTTP请求至少需要什么?
72 http 

6
HTTP状态504
当我的win32(c#)应用程序调用Web服务时,出现以下错误。 The request failed with HTTP status 504: Gateway timeout server response timeout. 我理解“我认为”,这是因为上游请求未及时得到响应。 但是我的问题是这个吗?如何在win32应用程序中更改app.config设置,以留出更多时间来处理其数据。我假设我需要对我的应用程序设置进行这些更改,因为托管ws的Web服务和IIS的安装时间较长。 期待您的回复,并先谢谢您。 史考特
72 http 


2
使用RestTemplate的HTTP获取标头
如何使用Spring RestTemplate发送GET请求?其他问题已使用POST,但我需要使用GET。当我运行它时,该程序继续工作,但是似乎网络被阻塞了,因为它在AsyncTask中,当我单击该按钮后尝试运行另一个asynctask时,它们将无法工作。 我试着做 String url = "https://api.blah.com/2.0/search/cubes?w=jdfkl&whitespace=1"; MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>(); map.add("Bearer", accessToken); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); //copied this from somewhere else, not sure what its for HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(map, headers); HttpMessageConverter<String> stringConverter = new StringHttpMessageConverter(); FormHttpMessageConverter formConverter = new FormHttpMessageConverter(); …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.